From 6c88c81df9544fc6653eca02ec088ed4c842235c Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 20 Jan 2020 12:03:23 +1000 Subject: [PATCH] gallivm: fix gather component handling. Fixes the extended gather test for gpu shader5 Reviewed-by: Roland Scheidegger Part-of: --- src/gallium/auxiliary/gallivm/lp_bld_nir.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir.c b/src/gallium/auxiliary/gallivm/lp_bld_nir.c index 34e6420c588..a8a2f845e29 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_nir.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_nir.c @@ -1466,9 +1466,10 @@ static void visit_tex(struct lp_build_nir_context *bld_base, nir_tex_instr *inst } if (instr->op == nir_texop_txf || instr->op == nir_texop_txf_ms) sample_key |= LP_SAMPLER_OP_FETCH << LP_SAMPLER_OP_TYPE_SHIFT; - else if (instr->op == nir_texop_tg4) + else if (instr->op == nir_texop_tg4) { sample_key |= LP_SAMPLER_OP_GATHER << LP_SAMPLER_OP_TYPE_SHIFT; - else if (instr->op == nir_texop_lod) + sample_key |= (instr->component << LP_SAMPLER_GATHER_COMP_SHIFT); + } else if (instr->op == nir_texop_lod) sample_key |= LP_SAMPLER_OP_LODQ << LP_SAMPLER_OP_TYPE_SHIFT; for (unsigned i = 0; i < instr->num_srcs; i++) { switch (instr->src[i].src_type) { -- 2.30.2