From 6818811fc4046b347d1d9ad7b39b7c2193674981 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 27 Sep 2021 17:08:20 -0500 Subject: [PATCH] nir/lower_readonly_images_to_tex: Also rewrite variable modes Storage images will start using nir_var_mem_image but sampled images still use nir_var_uniform. If we're going to rewrite types, we need to rewrite the modes as well. Otherwise, nir_validate will get grumpy and drivers might get confused. Reviewed-by: Caio Marcelo de Oliveira Filho Part-of: --- src/compiler/nir/nir_lower_readonly_images_to_tex.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/compiler/nir/nir_lower_readonly_images_to_tex.c b/src/compiler/nir/nir_lower_readonly_images_to_tex.c index 3dfa42e3af3..60b0a3451a8 100644 --- a/src/compiler/nir/nir_lower_readonly_images_to_tex.c +++ b/src/compiler/nir/nir_lower_readonly_images_to_tex.c @@ -49,10 +49,12 @@ replace_image_type_with_sampler(nir_deref_instr *deref) return; deref->type = get_sampler_type_for_image(type); + deref->modes = nir_var_uniform; if (deref->deref_type == nir_deref_type_var) { type = deref->var->type; if (!glsl_type_is_sampler(glsl_without_array(type))) { deref->var->type = get_sampler_type_for_image(type); + deref->var->data.mode = nir_var_uniform; memset(&deref->var->data.sampler, 0, sizeof(deref->var->data.sampler)); } } else {