Mesa (main): dozen: Use nir_test_mask instead of i2b(iand)

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 30 18:29:38 UTC 2022


Module: Mesa
Branch: main
Commit: 9fc7d5e0e1ebe31d4377f0af13134b5aefa99212
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9fc7d5e0e1ebe31d4377f0af13134b5aefa99212

Author: Konstantin Seurer <konstantin.seurer at gmail.com>
Date:   Fri Jun 24 21:45:52 2022 +0200

dozen: Use nir_test_mask instead of i2b(iand)

Signed-off-by: Konstantin Seurer <konstantin.seurer at gmail.com>
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17242>

---

 src/microsoft/vulkan/dzn_nir.c | 31 ++++++++++++-------------------
 1 file changed, 12 insertions(+), 19 deletions(-)

diff --git a/src/microsoft/vulkan/dzn_nir.c b/src/microsoft/vulkan/dzn_nir.c
index ef43ec04fb1..ae0dc26706a 100644
--- a/src/microsoft/vulkan/dzn_nir.c
+++ b/src/microsoft/vulkan/dzn_nir.c
@@ -411,10 +411,9 @@ dzn_nir_triangle_fan_prim_restart_rewrite_index_shader(uint8_t old_index_size)
                     old_index_size == 2 ? nir_iand_imm(&b, old_index_offset, ~3ULL) : old_index_offset,
                     .align_mul = 4);
    if (old_index_size == 2) {
-      index_val = nir_bcsel(&b,
-                            nir_ieq_imm(&b, nir_iand_imm(&b, old_index_offset, 0x2), 0),
-                            nir_iand_imm(&b, index_val, 0xffff),
-                            nir_ushr_imm(&b, index_val, 16));
+     index_val = nir_bcsel(&b, nir_test_mask(&b, old_index_offset, 0x2),
+                           nir_ushr_imm(&b, index_val, 16),
+                           nir_iand_imm(&b, index_val, 0xffff));
    }
 
    nir_store_var(&b, index0_var, index_val, 1);
@@ -433,11 +432,9 @@ dzn_nir_triangle_fan_prim_restart_rewrite_index_shader(uint8_t old_index_size)
          nir_iand_imm(&b, nir_channel(&b, index12, 1), 0xffff),
       };
 
-      index12 =
-         nir_bcsel(&b,
-                   nir_ieq_imm(&b, nir_iand_imm(&b, old_index_offset, 0x2), 0),
-                   nir_vec2(&b, indices[0], indices[1]),
-                   nir_vec2(&b, indices[1], indices[2]));
+      index12 = nir_bcsel(&b, nir_test_mask(&b, old_index_offset, 0x2),
+                          nir_vec2(&b, indices[1], indices[2]),
+                          nir_vec2(&b, indices[0], indices[1]));
    }
 
    nir_push_if(&b, nir_ieq(&b, nir_channel(&b, index12, 1), prim_restart_val));
@@ -516,11 +513,9 @@ dzn_nir_triangle_fan_rewrite_index_shader(uint8_t old_index_size)
                        .align_mul = 4);
 
       if (old_index_size == 2) {
-         old_index0 =
-            nir_bcsel(&b,
-                      nir_ieq_imm(&b, nir_iand_imm(&b, old_index0_offset, 0x2), 0),
-                      nir_iand_imm(&b, old_index0, 0xffff),
-                      nir_ushr_imm(&b, old_index0, 16));
+        old_index0 = nir_bcsel(&b, nir_test_mask(&b, old_index0_offset, 0x2),
+                               nir_ushr_imm(&b, old_index0, 16),
+                               nir_iand_imm(&b, old_index0, 0xffff));
       }
 
       nir_ssa_def *old_index12 =
@@ -534,11 +529,9 @@ dzn_nir_triangle_fan_rewrite_index_shader(uint8_t old_index_size)
             nir_iand_imm(&b, nir_channel(&b, old_index12, 1), 0xffff),
          };
 
-         old_index12 =
-            nir_bcsel(&b,
-                      nir_ieq_imm(&b, nir_iand_imm(&b, old_index1_offset, 0x2), 0),
-                      nir_vec2(&b, indices[0], indices[1]),
-                      nir_vec2(&b, indices[1], indices[2]));
+         old_index12 = nir_bcsel(&b, nir_test_mask(&b, old_index1_offset, 0x2),
+                                 nir_vec2(&b, indices[1], indices[2]),
+                                 nir_vec2(&b, indices[0], indices[1]));
       }
 
       /* TODO: VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT */



More information about the mesa-commit mailing list