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; }