tu: Add custom resolve tracepoints
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38451>
This commit is contained in:
Danylo Piliaiev 2025-11-20 19:08:28 +01:00 committed by Marge Bot
parent 520e3f3a47
commit 40b21f115d
3 changed files with 9 additions and 0 deletions

View file

@ -6650,6 +6650,8 @@ tu_emit_subpass_custom_resolve(struct tu_cmd_buffer *cmd)
if (!subpass->custom_resolve)
return;
trace_start_custom_resolve(&cmd->rp_trace, cs, cmd);
/* Since a7xx, buffer location can be controlled per-buffer. We also have
* to update the steering register so that generic clears use sysmem.
*/
@ -6712,6 +6714,8 @@ tu_emit_custom_resolve_end(struct tu_cmd_buffer *cmd)
tu_emit_event_write<CHIP>(cmd, cs, FD_CCU_CLEAN_COLOR);
if (subpass->depth_stencil_attachment.attachment != VK_ATTACHMENT_UNUSED)
tu_emit_event_write<CHIP>(cmd, cs, FD_CCU_CLEAN_DEPTH);
trace_end_custom_resolve(&cmd->rp_trace, cs);
}
/* emit loads, clears, and mrt/zs/msaa/ubwc state for the subpass that is

View file

@ -82,6 +82,7 @@ enum tu_stage_id {
GMEM_LOAD_STAGE_ID,
GMEM_STORE_STAGE_ID,
SYSMEM_RESOLVE_STAGE_ID,
CUSTOM_RESOLVE_STAGE_ID,
// TODO add the rest from fd_stage_id
};
@ -117,6 +118,7 @@ static const struct {
[GMEM_LOAD_STAGE_ID] = { "GMEM Load", "Per tile system memory to GMEM load" },
[GMEM_STORE_STAGE_ID] = { "GMEM Store", "Per tile GMEM to system memory store" },
[SYSMEM_RESOLVE_STAGE_ID] = { "SysMem Resolve", "System memory MSAA resolve" },
[CUSTOM_RESOLVE_STAGE_ID] = { "Custom Resolve", "Custom resolve via shader" },
// TODO add the rest
};
@ -605,6 +607,7 @@ CREATE_EVENT_CALLBACK(sysmem_clear_all, CLEAR_SYSMEM_STAGE_ID)
CREATE_EVENT_CALLBACK(gmem_load, GMEM_LOAD_STAGE_ID)
CREATE_EVENT_CALLBACK(gmem_store, GMEM_STORE_STAGE_ID)
CREATE_EVENT_CALLBACK(sysmem_resolve, SYSMEM_RESOLVE_STAGE_ID)
CREATE_EVENT_CALLBACK(custom_resolve, CUSTOM_RESOLVE_STAGE_ID)
void
tu_perfetto_start_cmd_buffer_annotation(

View file

@ -171,6 +171,8 @@ begin_end_tp('gmem_store',
begin_end_tp('sysmem_resolve',
args=[Arg(type='enum VkFormat', var='format', c_format='%s', to_prim_type='vk_format_description({})->short_name')])
begin_end_tp('custom_resolve')
begin_end_tp('blit',
# TODO: add source megapixels count and target megapixels count arguments
args=[Arg(type='uint8_t', var='uses_3d_blit', c_format='%u'),