From 0006b860ce83769e3d030ab1fec45a4de04dcadc Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 3 Nov 2017 12:47:51 -0400 Subject: [PATCH] mesa/st/nir: assign driver_location for images Signed-off-by: Rob Clark --- src/mesa/state_tracker/st_glsl_to_nir.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp index 1912da2404a..dd4b05d7b97 100644 --- a/src/mesa/state_tracker/st_glsl_to_nir.cpp +++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp @@ -176,6 +176,7 @@ st_nir_assign_uniform_locations(struct gl_program *prog, { int max = 0; int shaderidx = 0; + int imageidx = 0; nir_foreach_variable(uniform, uniform_list) { int loc; @@ -188,10 +189,13 @@ st_nir_assign_uniform_locations(struct gl_program *prog, uniform->interface_type != NULL) continue; - if (uniform->type->is_sampler()) { + if (uniform->type->is_sampler() || uniform->type->is_image()) { unsigned val = 0; bool found = shader_program->UniformHash->get(val, uniform->name); - loc = shaderidx++; + if (uniform->type->is_sampler()) + loc = shaderidx++; + else + loc = imageidx++; assert(found); (void) found; /* silence unused var warning */ /* this ensure that nir_lower_samplers looks at the correct -- 2.30.2