From dda8f9f519ae36491e810ab720e0571f5fa8b92a Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Wed, 3 Sep 2025 13:49:35 +0200 Subject: [PATCH] tu: Reset rp_trace on tu_reset_cmd_buffer Secondary command buffers with RENDER_PASS_CONTINUE_BIT don't reset rp_trace, and without reset we get garbage tracepoints. Fixes garbage sysmem_clear_all tracepoints in some games running though DXVK. Fixes: 630380349bb ("tu: Give renderpass events a separate trace buffer") Signed-off-by: Danylo Piliaiev Part-of: (cherry picked from commit 482e0d0d1e965b3fa1f9faa6f63b11fa83e8fd82) --- .pick_status.json | 2 +- src/freedreno/vulkan/tu_cmd_buffer.cc | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 5a3c9739fc1..bf401562f0f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -9954,7 +9954,7 @@ "description": "tu: Reset rp_trace on tu_reset_cmd_buffer", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "630380349bbc4873cebf5e90c359ca50d22fc998", "notes": null diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index edfbda3c630..651330d9441 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -3285,6 +3285,10 @@ tu_reset_cmd_buffer(struct vk_command_buffer *vk_cmd_buffer, u_trace_fini(&cmd_buffer->trace); u_trace_init(&cmd_buffer->trace, &cmd_buffer->device->trace_context); + u_trace_fini(&cmd_buffer->rp_trace); + u_trace_init(&cmd_buffer->rp_trace, &cmd_buffer->device->trace_context); + cmd_buffer->trace_renderpass_start = + u_trace_begin_iterator(&cmd_buffer->rp_trace); cmd_buffer->state.max_vbs_bound = 0;