diff --git a/src/gallium/drivers/llvmpipe/lp_state_cs.c b/src/gallium/drivers/llvmpipe/lp_state_cs.c index 5e74566ddf4..6f585388942 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_cs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_cs.c @@ -649,6 +649,9 @@ make_variant_key(struct llvmpipe_context *lp, struct lp_image_static_state *lp_image; lp_image = lp_cs_variant_key_images(key); key->nr_images = shader->info.base.file_max[TGSI_FILE_IMAGE] + 1; + if (key->nr_images) + memset(lp_image, 0, + key->nr_images * sizeof *lp_image); for (i = 0; i < key->nr_images; ++i) { if (shader->info.base.file_mask[TGSI_FILE_IMAGE] & (1 << i)) { lp_sampler_static_texture_state_image(&lp_image[i].image_state, diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 7107b37f187..b81d3a72097 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -4510,6 +4510,10 @@ make_variant_key(struct llvmpipe_context *lp, struct lp_image_static_state *lp_image = lp_fs_variant_key_images(key); key->nr_images = shader->info.base.file_max[TGSI_FILE_IMAGE] + 1; + + if (key->nr_images) + memset(lp_image, 0, + key->nr_images * sizeof *lp_image); for (unsigned i = 0; i < key->nr_images; ++i) { if (shader->info.base.file_mask[TGSI_FILE_IMAGE] & (1 << i)) { lp_sampler_static_texture_state_image(&lp_image[i].image_state,