From 1468e29e0285e8878c6112f810fae5ab87c426e9 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 17 May 2017 10:55:51 +0200 Subject: [PATCH] radeonsi: get the sampler view type from inst->Texture for TG4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This will also magically fix this special lowering for bindless samplers. Signed-off-by: Samuel Pitoiset Reviewed-by: Marek Olšák Reviewed-by: Nicolai Hähnle --- src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c index 13b46949d01..a47d5bbae3b 100644 --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c @@ -1772,17 +1772,13 @@ 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); }