From 482e0d0d1e965b3fa1f9faa6f63b11fa83e8fd82 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: --- src/freedreno/vulkan/tu_cmd_buffer.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index 7f5c03f7e82..7e016e8d8ce 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -3414,6 +3414,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;