From d56bfdc54c0a8280dafa6179cf00886f167a11c9 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sat, 28 Sep 2024 11:08:17 -0400 Subject: [PATCH] hk: fix ZLS across split CRs Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/vulkan/hk_cmd_draw.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/asahi/vulkan/hk_cmd_draw.c b/src/asahi/vulkan/hk_cmd_draw.c index 7dc66fa9b60..307908fcdfb 100644 --- a/src/asahi/vulkan/hk_cmd_draw.c +++ b/src/asahi/vulkan/hk_cmd_draw.c @@ -483,9 +483,14 @@ hk_pack_zls_control(struct agx_zls_control_packed *packed, { agx_pack(packed, ZLS_CONTROL, zls_control) { if (z_layout) { + /* XXX: Dropping Z stores is wrong if the render pass gets split into + * multiple control streams (can that ever happen?) We need more ZLS + * variants. Force || true for now. + */ zls_control.z_store_enable = attach_z->storeOp == VK_ATTACHMENT_STORE_OP_STORE || - attach_z->resolveMode != VK_RESOLVE_MODE_NONE || partial_render; + attach_z->resolveMode != VK_RESOLVE_MODE_NONE || partial_render || + true; zls_control.z_load_enable = attach_z->loadOp == VK_ATTACHMENT_LOAD_OP_LOAD || partial_render ||