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: 630380349b ("tu: Give renderpass events a separate trace buffer")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37161>
(cherry picked from commit 482e0d0d1e)
This commit is contained in:
Danylo Piliaiev 2025-09-03 13:49:35 +02:00 committed by Eric Engestrom
parent 63f47a9706
commit dda8f9f519
2 changed files with 5 additions and 1 deletions

View file

@ -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

View file

@ -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;