From f47ea3f9922725ab0bad465f54a69eec9cd9ded7 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 1 Mar 2023 14:47:56 -0500 Subject: [PATCH] glsl/nir: Use scoped_barrier for control barrier Rather than control_barrier. This avoids the need to handle control_barrier at all for backends that set use_scoped_barrier. This effectively matches what spirv_to_nir emits, so Vulkan-capable compilers should be ok. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Emma Anholt Reviewed-by: Caio Oliveira Reviewed-by: Kenneth Graunke Part-of: --- src/compiler/glsl/glsl_to_nir.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index 64761e3c036..2c39fb23af0 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -2767,20 +2767,20 @@ nir_visitor::visit(ir_barrier *) { if (shader->options->use_scoped_barrier) { if (shader->info.stage == MESA_SHADER_COMPUTE) { - nir_scoped_memory_barrier(&b, NIR_SCOPE_WORKGROUP, NIR_MEMORY_ACQ_REL, - nir_var_mem_shared); + nir_scoped_barrier(&b, NIR_SCOPE_WORKGROUP, NIR_SCOPE_WORKGROUP, + NIR_MEMORY_ACQ_REL, nir_var_mem_shared); } else if (shader->info.stage == MESA_SHADER_TESS_CTRL) { - nir_scoped_memory_barrier(&b, NIR_SCOPE_WORKGROUP, NIR_MEMORY_ACQ_REL, - nir_var_shader_out); + nir_scoped_barrier(&b, NIR_SCOPE_WORKGROUP, NIR_SCOPE_WORKGROUP, + NIR_MEMORY_ACQ_REL, nir_var_shader_out); } } else { if (shader->info.stage == MESA_SHADER_COMPUTE) nir_memory_barrier_shared(&b); else if (shader->info.stage == MESA_SHADER_TESS_CTRL) nir_memory_barrier_tcs_patch(&b); - } - nir_control_barrier(&b); + nir_control_barrier(&b); + } } nir_shader *