From 08307ecf3cd797776096b8eba56d60a7f53fb68d Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 10 Apr 2025 09:32:06 +0200 Subject: [PATCH] panvk/jm: Don't force a preload if the previous batch didn't have draws We should only force a preload after a batch split if the batch we flush had draws, otherwise we might lose the effect of clears asked by the user. Signed-off-by: Boris Brezillon Reviewed-by: Lars-Ivar Hesselberg Simonsen Reviewed-by: Erik Faye-Lund Part-of: --- src/panfrost/vulkan/jm/panvk_vX_cmd_buffer.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/panfrost/vulkan/jm/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/jm/panvk_vX_cmd_buffer.c index dc69dd678f2..8d4e662cc94 100644 --- a/src/panfrost/vulkan/jm/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/jm/panvk_vX_cmd_buffer.c @@ -321,8 +321,14 @@ panvk_per_arch(CmdPipelineBarrier2)(VkCommandBuffer commandBuffer, * barrier flag set to true. */ if (cmdbuf->cur_batch) { + bool preload_fb = + cmdbuf->cur_batch && cmdbuf->cur_batch->vtc_jc.first_tiler; + panvk_per_arch(cmd_close_batch)(cmdbuf); - panvk_per_arch(cmd_preload_fb_after_batch_split)(cmdbuf); + + if (preload_fb) + panvk_per_arch(cmd_preload_fb_after_batch_split)(cmdbuf); + panvk_per_arch(cmd_open_batch)(cmdbuf); } }