From 290f3b76f305abaa24332cbc751a7a3b005e41cf Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sun, 19 Feb 2023 15:30:10 -0500 Subject: [PATCH] agx: Disable tri merging with side effects As Metal does. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/compiler/agx_compile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index f9fc8e47877..7f9358ca71e 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -2316,7 +2316,8 @@ agx_compile_shader_nir(nir_shader *nir, struct agx_shader_key *key, } else if (nir->info.stage == MESA_SHADER_FRAGMENT) { out->no_colour_output = !(nir->info.outputs_written >> FRAG_RESULT_DATA0); out->disable_tri_merging = nir->info.fs.needs_all_helper_invocations || - nir->info.fs.needs_quad_helper_invocations; + nir->info.fs.needs_quad_helper_invocations || + nir->info.writes_memory; /* Report a canonical depth layout */ enum gl_frag_depth_layout layout = nir->info.fs.depth_layout;