Module: Mesa
Branch: staging/23.3
Commit: 65eb17f4153fd75b5c7bbd71748149b29dbecc64
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=65eb17f4153fd75b5c7bbd71748149b29dbecc64

Author: Eric Engestrom <e...@igalia.com>
Date:   Mon Dec  4 18:34:33 2023 +0000

nvk: use `||` instead of `|` between bools

We have to split each call into its own variable, because simply
replacing `|` with `||` would short-circuit the right side when the left
side succeeds.

Fixes: dadf9d59e6f9e0c4a7a7 ("nvk: Add support for variable pointers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26509>
(cherry picked from commit 81ec1fa0b5b924902b05531817a8b7b38e449bf1)

---

 .pick_status.json                              |  2 +-
 src/nouveau/vulkan/nvk_nir_lower_descriptors.c | 19 +++++++++++--------
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 73ed382a24b..8e7b0747414 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -334,7 +334,7 @@
         "description": "nvk: use `||` instead of `|` between bools",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "dadf9d59e6f9e0c4a7a7e84af6eca85efe24476a",
         "notes": null
diff --git a/src/nouveau/vulkan/nvk_nir_lower_descriptors.c 
b/src/nouveau/vulkan/nvk_nir_lower_descriptors.c
index d3d98667b4c..c4d4f7bf17c 100644
--- a/src/nouveau/vulkan/nvk_nir_lower_descriptors.c
+++ b/src/nouveau/vulkan/nvk_nir_lower_descriptors.c
@@ -682,12 +682,15 @@ nvk_nir_lower_descriptors(nir_shader *nir,
     * are left and lowers them to slightly less efficient but variable-
     * pointers-correct versions.
     */
-   return nir_shader_instructions_pass(nir, try_lower_descriptors_instr,
-                                       nir_metadata_block_index |
-                                       nir_metadata_dominance,
-                                       (void *)&ctx) |
-          nir_shader_instructions_pass(nir, lower_ssbo_descriptor_instr,
-                                       nir_metadata_block_index |
-                                       nir_metadata_dominance,
-                                       (void *)&ctx);
+   bool pass_lower_descriptors =
+      nir_shader_instructions_pass(nir, try_lower_descriptors_instr,
+                                   nir_metadata_block_index |
+                                   nir_metadata_dominance,
+                                   (void *)&ctx);
+   bool pass_lower_ssbo =
+      nir_shader_instructions_pass(nir, lower_ssbo_descriptor_instr,
+                                   nir_metadata_block_index |
+                                   nir_metadata_dominance,
+                                   (void *)&ctx);
+   return pass_lower_descriptors || pass_lower_ssbo;
 }

Reply via email to