diff --git a/src/compiler/glsl/gl_nir_lower_samplers_as_deref.c b/src/compiler/glsl/gl_nir_lower_samplers_as_deref.c index 0174c25642a..26a74cf761e 100644 --- a/src/compiler/glsl/gl_nir_lower_samplers_as_deref.c +++ b/src/compiler/glsl/gl_nir_lower_samplers_as_deref.c @@ -120,9 +120,10 @@ remove_struct_derefs_prep(nir_deref_instr **p, char **name, static void record_images_used(struct shader_info *info, - nir_deref_instr *deref) + nir_intrinsic_instr *instr) { - nir_variable *var = nir_deref_instr_get_variable(deref); + nir_variable *var = + nir_deref_instr_get_variable(nir_src_as_deref(instr->src[0])); /* Structs have been lowered already, so get_aoa_size is sufficient. */ const unsigned size = @@ -301,7 +302,7 @@ lower_intrinsic(nir_intrinsic_instr *instr, nir_deref_instr *deref = lower_deref(b, state, nir_src_as_deref(instr->src[0])); - record_images_used(&state->shader->info, deref); + record_images_used(&state->shader->info, instr); /* don't lower bindless: */ if (!deref)