Mesa (master): galllivm: fix gather offset casting

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jan 23 04:12:02 UTC 2020


Module: Mesa
Branch: master
Commit: 1e433c398ebeacd28cd565569eae0caba2638d18
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e433c398ebeacd28cd565569eae0caba2638d18

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jan 20 13:21:28 2020 +1000

galllivm: fix gather offset casting

cast texture offsets to 32-bit integers

Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3528>

---

 src/gallium/auxiliary/gallivm/lp_bld_nir.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir.c b/src/gallium/auxiliary/gallivm/lp_bld_nir.c
index a8a2f845e29..7a0e4175b43 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_nir.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir.c
@@ -1551,11 +1551,13 @@ static void visit_tex(struct lp_build_nir_context *bld_base, nir_tex_instr *inst
          LLVMValueRef offset_val = get_src(bld_base, instr->src[i].src);
          sample_key |= LP_SAMPLER_OFFSETS;
          if (offset_cnt == 1)
-            offsets[0] = offset_val;
+            offsets[0] = cast_type(bld_base, offset_val, nir_type_int, 32);
          else {
-            for (unsigned chan = 0; chan < offset_cnt; ++chan)
+            for (unsigned chan = 0; chan < offset_cnt; ++chan) {
                offsets[chan] = LLVMBuildExtractValue(builder, offset_val,
                                                      chan, "");
+               offsets[chan] = cast_type(bld_base, offsets[chan], nir_type_int, 32);
+            }
          }
          break;
       }



More information about the mesa-commit mailing list