From 65eb17f4153fd75b5c7bbd71748149b29dbecc64 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Mon, 4 Dec 2023 18:34:33 +0000 Subject: [PATCH] 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: (cherry picked from commit 81ec1fa0b5b924902b05531817a8b7b38e449bf1) --- .pick_status.json | 2 +- .../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; }