diff --git a/src/intel/ds/intel_tracepoints.py b/src/intel/ds/intel_tracepoints.py index 63de4d86f1c..7c7722650a6 100644 --- a/src/intel/ds/intel_tracepoints.py +++ b/src/intel/ds/intel_tracepoints.py @@ -229,7 +229,9 @@ def define_tracepoints(args): tp_args=[Arg(type='uint32_t', var='count', c_format='%u'),], need_cs_param=True) - begin_end_tp('as_build') + begin_end_tp('as_build', + tp_args=[Arg(type='uint32_t', var='n_tlas', c_format='%u'), + Arg(type='uint32_t', var='n_blas', c_format='%u'),]) begin_end_tp('as_build_leaves', repeat_last=True) begin_end_tp('as_morton_generate', repeat_last=True) begin_end_tp('as_morton_sort', repeat_last=True) diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 2124cbf3a6c..3d9b46ede6e 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -4086,6 +4086,8 @@ struct anv_cmd_ray_tracing_state { } scratch; uint32_t debug_marker_count; + uint32_t num_tlas; + uint32_t num_blas; enum vk_acceleration_structure_build_step debug_markers[5]; struct anv_address build_priv_mem_addr; diff --git a/src/intel/vulkan/genX_acceleration_structure.c b/src/intel/vulkan/genX_acceleration_structure.c index 92dcb02d6b1..d68e014664e 100644 --- a/src/intel/vulkan/genX_acceleration_structure.c +++ b/src/intel/vulkan/genX_acceleration_structure.c @@ -43,8 +43,15 @@ begin_debug_marker(VkCommandBuffer commandBuffer, step; switch (step) { case VK_ACCELERATION_STRUCTURE_BUILD_STEP_TOP: + { + va_list args; + va_start(args, format); + cmd_buffer->state.rt.num_tlas = va_arg(args, uint32_t); + cmd_buffer->state.rt.num_blas = va_arg(args, uint32_t); + va_end(args); trace_intel_begin_as_build(&cmd_buffer->trace); break; + } case VK_ACCELERATION_STRUCTURE_BUILD_STEP_BUILD_LEAVES: trace_intel_begin_as_build_leaves(&cmd_buffer->trace); break; @@ -76,7 +83,9 @@ end_debug_marker(VkCommandBuffer commandBuffer) cmd_buffer->state.rt.debug_marker_count--; switch (cmd_buffer->state.rt.debug_markers[cmd_buffer->state.rt.debug_marker_count]) { case VK_ACCELERATION_STRUCTURE_BUILD_STEP_TOP: - trace_intel_end_as_build(&cmd_buffer->trace); + trace_intel_end_as_build(&cmd_buffer->trace, + cmd_buffer->state.rt.num_tlas, + cmd_buffer->state.rt.num_blas); break; case VK_ACCELERATION_STRUCTURE_BUILD_STEP_BUILD_LEAVES: trace_intel_end_as_build_leaves(&cmd_buffer->trace);