This will also magically fix this special lowering for
bindless samplers.

Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
 src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c 
b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
index 13b46949d0..cd40d3eeaf 100644
--- a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
+++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
@@ -1772,17 +1772,16 @@ static void build_tex_intrinsic(const struct 
lp_build_tgsi_action *action,
        /* The hardware needs special lowering for Gather4 with integer 
formats. */
        if (ctx->screen->b.chip_class <= VI &&
            opcode == TGSI_OPCODE_TG4) {
-               struct tgsi_shader_info *info = &ctx->shader->selector->info;
                /* This will also work with non-constant indexing because of how
                 * glsl_to_tgsi works and we intent to preserve that behavior.
                 */
                const unsigned src_idx = 2;
-               unsigned sampler = inst->Src[src_idx].Register.Index;
 
                assert(inst->Src[src_idx].Register.File == TGSI_FILE_SAMPLER);
+               assert(inst->Texture.ReturnType != TGSI_RETURN_TYPE_UNKNOWN);
 
-               if (info->sampler_type[sampler] == TGSI_RETURN_TYPE_SINT ||
-                   info->sampler_type[sampler] == TGSI_RETURN_TYPE_UINT)
+               if (inst->Texture.ReturnType == TGSI_RETURN_TYPE_SINT ||
+                   inst->Texture.ReturnType == TGSI_RETURN_TYPE_UINT)
                        si_lower_gather4_integer(ctx, &args, target);
        }
 
-- 
2.13.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to