From c95584589194ad8a17b3b95d6492729f43ec9fd6 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 15 Mar 2024 16:47:01 -0400 Subject: [PATCH] asahi: don't set writes_memory for tib spilling we don't want the zs_emit dance emitted, all we care about is making sure tag writes are enabled as if we had a regular tib store Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/compiler/agx_compile.c | 3 +++ src/asahi/lib/agx_nir_lower_tilebuffer.c | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index 670c9b19e33..1a30997049d 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -1143,6 +1143,9 @@ agx_emit_image_store(agx_builder *b, nir_intrinsic_instr *instr) data = agx_emit_collect(b, 4, chan); } + /* Image stores act like tilebuffer stores when used for tib spilling */ + b->shader->out->tag_write_disable = false; + return agx_image_write(b, data, coords, lod, base, index, dim); } diff --git a/src/asahi/lib/agx_nir_lower_tilebuffer.c b/src/asahi/lib/agx_nir_lower_tilebuffer.c index 7d6e871f62c..2737d3ebabd 100644 --- a/src/asahi/lib/agx_nir_lower_tilebuffer.c +++ b/src/asahi/lib/agx_nir_lower_tilebuffer.c @@ -195,8 +195,6 @@ store_memory(nir_builder *b, unsigned bindless_base, unsigned nr_samples, if (nr_samples > 1) nir_pop_if(b, NULL); - - b->shader->info.writes_memory = true; } static nir_def *