From 45ef977481e2b825e953d64464a42bf71cb90820 Mon Sep 17 00:00:00 2001 From: Asahi Lina Date: Fri, 17 Nov 2023 19:27:37 +0900 Subject: [PATCH] asahi: Add extra barrier for texture atomics on G13X Found experimentally. Fixes KHR-GLES31.core.texture_buffer.texture_buffer_atomic_functions on G13D. Signed-off-by: Asahi Lina Part-of: --- src/asahi/compiler/agx_compile.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index 85fe2011ac9..f74e35a8b07 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -1202,6 +1202,9 @@ agx_emit_intrinsic(agx_builder *b, nir_intrinsic_instr *instr) case nir_intrinsic_fence_mem_to_tex_agx: { /* Flush out the atomic to main memory */ agx_memory_barrier(b); + /* Found experimentally... */ + if (b->shader->key->needs_g13x_coherency) + agx_memory_barrier_2(b); /* TODO: Which ones do we actually need? */ agx_image_barrier_1(b);