iris: fix crash when binding optional shader for the first time

This commit is contained in:
Kenneth Graunke 2018-08-23 21:21:04 -07:00
parent 6331b754df
commit 47d3019c4a

View file

@ -172,7 +172,9 @@ iris_bind_cached_shader(struct iris_context *ice,
if (!shader)
return false;
if (memcmp(shader, ice->shaders.prog[cache_id], sizeof(*shader)) != 0) {
// XXX: why memcmp?
if (!ice->shaders.prog[cache_id] ||
memcmp(shader, ice->shaders.prog[cache_id], sizeof(*shader)) != 0) {
ice->shaders.prog[cache_id] = shader;
ice->state.dirty |= dirty_flag_for_cache(cache_id);
}