Mesa (master): v3d: prefer using nir_src_comp_as_int over nir_src_as_const_value

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Apr 7 13:23:53 UTC 2019


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

Author: Karol Herbst <kherbst at redhat.com>
Date:   Thu Mar 28 17:53:30 2019 +0100

v3d: prefer using nir_src_comp_as_int over nir_src_as_const_value

Signed-off-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/broadcom/compiler/v3d33_tex.c |  8 +++-----
 src/broadcom/compiler/v3d40_tex.c | 11 +++++------
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/broadcom/compiler/v3d33_tex.c b/src/broadcom/compiler/v3d33_tex.c
index 95e486ef6e8..488021bfc60 100644
--- a/src/broadcom/compiler/v3d33_tex.c
+++ b/src/broadcom/compiler/v3d33_tex.c
@@ -106,18 +106,16 @@ v3d33_vir_emit_tex(struct v3d_compile *c, nir_tex_instr *instr)
                         break;
 
                 case nir_tex_src_offset: {
-                        nir_const_value *offset =
-                                nir_src_as_const_value(instr->src[i].src);
                         p0_unpacked.texel_offset_for_s_coordinate =
-                                offset->i32[0];
+                                nir_src_comp_as_int(instr->src[i].src, 0);
 
                         if (instr->coord_components >= 2)
                                 p0_unpacked.texel_offset_for_t_coordinate =
-                                        offset->i32[1];
+                                        nir_src_comp_as_int(instr->src[i].src, 1);
 
                         if (instr->coord_components >= 3)
                                 p0_unpacked.texel_offset_for_r_coordinate =
-                                        offset->i32[2];
+                                        nir_src_comp_as_int(instr->src[i].src, 2);
                         break;
                 }
 
diff --git a/src/broadcom/compiler/v3d40_tex.c b/src/broadcom/compiler/v3d40_tex.c
index b6feffe53c9..3bed32d839f 100644
--- a/src/broadcom/compiler/v3d40_tex.c
+++ b/src/broadcom/compiler/v3d40_tex.c
@@ -138,14 +138,13 @@ v3d40_vir_emit_tex(struct v3d_compile *c, nir_tex_instr *instr)
 
                 case nir_tex_src_offset: {
                         if (nir_src_is_const(instr->src[i].src)) {
-                                nir_const_value *offset =
-                                        nir_src_as_const_value(instr->src[i].src);
-
-                                p2_unpacked.offset_s = offset->i32[0];
+                                p2_unpacked.offset_s = nir_src_comp_as_int(instr->src[i].src, 0);
                                 if (instr->coord_components >= 2)
-                                        p2_unpacked.offset_t = offset->i32[1];
+                                        p2_unpacked.offset_t =
+                                                nir_src_comp_as_int(instr->src[i].src, 1);
                                 if (instr->coord_components >= 3)
-                                        p2_unpacked.offset_r = offset->i32[2];
+                                        p2_unpacked.offset_r =
+                                                nir_src_comp_as_int(instr->src[i].src, 2);
                         } else {
                                 struct qreg mask = vir_uniform_ui(c, 0xf);
                                 struct qreg x, y, offset;




More information about the mesa-commit mailing list