From ccfe9813fb80ebff5d1d3f70cb95f1831be8844e Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Wed, 22 Jul 2020 11:47:20 +0100 Subject: [PATCH] aco: create acq+rel barriers instead of acq/rel MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit NIR doesn't have atomic loads/stores, so we have to workaround that with this for dEQP-VK.memory_model.* to pass. Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 100837bb98c..0a92788567a 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -6759,9 +6759,9 @@ void emit_memory_barrier(isel_context *ctx, nir_intrinsic_instr *instr) { unsigned nir_semantics = nir_intrinsic_memory_semantics(instr); if (nir_semantics & NIR_MEMORY_ACQUIRE) - semantics |= semantic_acquire; + semantics |= semantic_acquire | semantic_release; if (nir_semantics & NIR_MEMORY_RELEASE) - semantics |= semantic_release; + semantics |= semantic_acquire | semantic_release; assert(!(nir_semantics & (NIR_MEMORY_MAKE_AVAILABLE | NIR_MEMORY_MAKE_VISIBLE))); -- 2.30.2