diff --git a/src/compiler/nir/nir_lower_variable_initializers.c b/src/compiler/nir/nir_lower_variable_initializers.c index ba0e7ba7be6..384bdef505e 100644 --- a/src/compiler/nir/nir_lower_variable_initializers.c +++ b/src/compiler/nir/nir_lower_variable_initializers.c @@ -191,8 +191,12 @@ nir_zero_initialize_shared_memory(nir_shader *shader, } nir_pop_loop(&b, loop); - nir_scoped_barrier(&b, NIR_SCOPE_WORKGROUP, NIR_SCOPE_WORKGROUP, - NIR_MEMORY_ACQ_REL, nir_var_mem_shared); + if (shader->options->use_scoped_barrier) { + nir_scoped_barrier(&b, NIR_SCOPE_WORKGROUP, NIR_SCOPE_WORKGROUP, + NIR_MEMORY_ACQ_REL, nir_var_mem_shared); + } else { + nir_memory_barrier_shared(&b); + } nir_metadata_preserve(nir_shader_get_entrypoint(shader), nir_metadata_none);