diff --git a/src/intel/ds/intel_tracepoints.py b/src/intel/ds/intel_tracepoints.py index e2c303bf5a1..e9fe49b96e5 100644 --- a/src/intel/ds/intel_tracepoints.py +++ b/src/intel/ds/intel_tracepoints.py @@ -103,12 +103,14 @@ def define_tracepoints(args): # Command buffer tracepoints, only for Anv begin_end_tp('cmd_buffer', - tp_args=[Arg(type='uint8_t', var='level', c_format='%hhu'),], + tp_args=[Arg(type='uint64_t', var='command_buffer_handle', c_format='%" PRIu64 "', perfetto_field=True), + Arg(type='uint8_t', var='level', c_format='%hhu'),], end_pipelined=False) # Annotations for Cmd(Begin|End)DebugUtilsLabelEXT begin_end_tp('cmd_buffer_annotation', - tp_args=[Arg(type='unsigned', var='len'), + tp_args=[Arg(type='uint64_t', var='command_buffer_handle', c_format='%" PRIu64 "', perfetto_field=True), + Arg(type='unsigned', var='len'), Arg(type='str', var='str', c_format='%s', length_arg='len + 1', copy_func='strncpy'),], tp_struct=[Arg(type='uint8_t', name='dummy', var='0'),], end_pipelined=True) @@ -119,7 +121,8 @@ def define_tracepoints(args): # Dynamic rendering tracepoints, only for Anv begin_end_tp('render_pass', - tp_args=[Arg(type='uint16_t', var='width', c_format='%hu'), + tp_args=[Arg(type='uint64_t', var='command_buffer_handle', c_format='%" PRIu64 "', perfetto_field=True), + Arg(type='uint16_t', var='width', c_format='%hu'), Arg(type='uint16_t', var='height', c_format='%hu'), Arg(type='uint8_t', var='att_count', c_format='%hhu'), Arg(type='uint8_t', var='msaa', c_format='%hhu'),]) diff --git a/src/intel/vulkan/anv_utrace.c b/src/intel/vulkan/anv_utrace.c index 54c1ec6f10f..da4f9a870e3 100644 --- a/src/intel/vulkan/anv_utrace.c +++ b/src/intel/vulkan/anv_utrace.c @@ -580,6 +580,7 @@ void anv_CmdEndDebugUtilsLabelEXT(VkCommandBuffer _commandBuffer) util_dynarray_top_ptr(&cmd_buffer->vk.labels, VkDebugUtilsLabelEXT); trace_intel_end_cmd_buffer_annotation(&cmd_buffer->trace, + (uintptr_t)(vk_command_buffer_to_handle(&cmd_buffer->vk)), strlen(label->pLabelName), label->pLabelName); } diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 402b6127160..5bdec9cf6d0 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -3436,7 +3436,9 @@ end_command_buffer(struct anv_cmd_buffer *cmd_buffer) if (anv_cmd_buffer_is_video_queue(cmd_buffer) || anv_cmd_buffer_is_blitter_queue(cmd_buffer)) { - trace_intel_end_cmd_buffer(&cmd_buffer->trace, cmd_buffer->vk.level); + trace_intel_end_cmd_buffer(&cmd_buffer->trace, + (uintptr_t)(vk_command_buffer_to_handle(&cmd_buffer->vk)), + cmd_buffer->vk.level); genX(cmd_buffer_apply_pipe_flushes)(cmd_buffer); anv_cmd_buffer_end_batch_buffer(cmd_buffer); return VK_SUCCESS; @@ -3483,7 +3485,9 @@ end_command_buffer(struct anv_cmd_buffer *cmd_buffer) genX(cmd_buffer_set_protected_memory)(cmd_buffer, false); #endif - trace_intel_end_cmd_buffer(&cmd_buffer->trace, cmd_buffer->vk.level); + trace_intel_end_cmd_buffer(&cmd_buffer->trace, + (uintptr_t)(vk_command_buffer_to_handle(&cmd_buffer->vk)), + cmd_buffer->vk.level); anv_cmd_buffer_end_batch_buffer(cmd_buffer); @@ -6044,6 +6048,7 @@ void genX(CmdEndRendering)( } trace_intel_end_render_pass(&cmd_buffer->trace, + (uintptr_t)(vk_command_buffer_to_handle(&cmd_buffer->vk)), gfx->render_area.extent.width, gfx->render_area.extent.height, gfx->color_att_count, diff --git a/src/intel/vulkan_hasvk/genX_cmd_buffer.c b/src/intel/vulkan_hasvk/genX_cmd_buffer.c index 04701da9169..41499a4a782 100644 --- a/src/intel/vulkan_hasvk/genX_cmd_buffer.c +++ b/src/intel/vulkan_hasvk/genX_cmd_buffer.c @@ -1512,7 +1512,9 @@ genX(EndCommandBuffer)( emit_isp_disable(cmd_buffer); - trace_intel_end_cmd_buffer(&cmd_buffer->trace, cmd_buffer->vk.level); + trace_intel_end_cmd_buffer(&cmd_buffer->trace, + (uintptr_t)(vk_command_buffer_to_handle(&cmd_buffer->vk)), + cmd_buffer->vk.level); anv_cmd_buffer_end_batch_buffer(cmd_buffer);