glsl/nir: Fix getting the sampler dim when arrays are involved

Unwrap any array in the variable type so we can get the sampler dim.

This fixes piglit test
spec/arb_arrays_of_arrays/execution/image_store/basic-imageStore-const-uniform-index.shader_test.

Fixes: f2d0e48d "glsl/nir: Add optimization pass for access flags"
Reviewed-by: Kenneth Graunke (semi-AFK still)'s avatarKenneth Graunke <kenneth@whitecape.org>
parent 10e8d466
......@@ -70,7 +70,8 @@ gather_intrinsic(struct access_state *state, nir_intrinsic_instr *instr)
* image types use textures which cannot alias with buffer objects.
* Therefore we have to group buffer samplers together with SSBO's.
*/
if (glsl_get_sampler_dim(var->type) == GLSL_SAMPLER_DIM_BUF)
if (glsl_get_sampler_dim(glsl_without_array(var->type)) ==
GLSL_SAMPLER_DIM_BUF)
state->buffers_written = true;
else
state->images_written = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment