From 49e9cd5211dcd04673fc1e09db7c0c91b65e78be Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Mon, 14 Oct 2024 18:45:51 -0700 Subject: [PATCH] panvk: don't dirty preloaded tiles for writeback Tiles that are only touched by the preload shader don't need to be written back, because their contents will be the same. The comment suggests that this was the original intent, and that the value of clean_fragment_write was just swapped by accident. Signed-off-by: Benjamin Lee Reviewed-by: Boris Brezillon Part-of: --- src/panfrost/vulkan/panvk_vX_cmd_fb_preload.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/panfrost/vulkan/panvk_vX_cmd_fb_preload.c b/src/panfrost/vulkan/panvk_vX_cmd_fb_preload.c index 0065cda517c..239ecc16db3 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_fb_preload.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_fb_preload.c @@ -456,7 +456,7 @@ cmd_emit_dcd(struct panvk_cmd_buffer *cmdbuf, #if PAN_ARCH >= 6 /* Until we decide to support FB CRC, we can consider that untouched tiles * should never be written back. */ - cfg.clean_fragment_write = false; + cfg.clean_fragment_write = true; #endif } @@ -638,7 +638,7 @@ cmd_emit_dcd(struct panvk_cmd_buffer *cmdbuf, cfg.multisample_enable = key->samples > 1; cfg.evaluate_per_sample = key->samples > 1; cfg.maximum_z = 1.0; - cfg.clean_fragment_write = false; + cfg.clean_fragment_write = true; cfg.shader.resources = res_table.gpu | 1; cfg.shader.shader = panvk_priv_mem_dev_addr(shader->spd); cfg.shader.thread_storage = cmdbuf->state.gfx.tsd;