mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
radv/sqtt: Handle monolithic RT pipelines
This marks them as Unified in the RGP UI and shows the compute shader view. Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26158>
This commit is contained in:
parent
b6e09dd521
commit
90f8cf0f36
1 changed files with 20 additions and 5 deletions
|
|
@ -1038,6 +1038,20 @@ sqtt_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPoo
|
|||
#define EVENT_RT_MARKER_ALIAS(cmd_name, event_name, flags, ...) \
|
||||
EVENT_MARKER_BASE(cmd_name, Dispatch, event_name | flags, __VA_ARGS__);
|
||||
|
||||
static uint32_t
|
||||
radv_get_ray_tracing_type(VkCommandBuffer commandBuffer)
|
||||
{
|
||||
RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
|
||||
struct radv_ray_tracing_pipeline *pipeline = cmd_buffer->state.rt_pipeline;
|
||||
|
||||
bool monolithic = true;
|
||||
for (uint32_t i = 0; i < pipeline->stage_count; i++)
|
||||
monolithic &= pipeline->stages[i].can_inline;
|
||||
|
||||
return monolithic ? 0 : ApiRayTracingSeparateCompiled;
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
sqtt_CmdTraceRaysKHR(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR *pRaygenShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR *pMissShaderBindingTable,
|
||||
|
|
@ -1045,7 +1059,7 @@ sqtt_CmdTraceRaysKHR(VkCommandBuffer commandBuffer, const VkStridedDeviceAddress
|
|||
const VkStridedDeviceAddressRegionKHR *pCallableShaderBindingTable, uint32_t width,
|
||||
uint32_t height, uint32_t depth)
|
||||
{
|
||||
EVENT_RT_MARKER(TraceRaysKHR, ApiRayTracingSeparateCompiled, commandBuffer, pRaygenShaderBindingTable,
|
||||
EVENT_RT_MARKER(TraceRaysKHR, radv_get_ray_tracing_type(commandBuffer), commandBuffer, pRaygenShaderBindingTable,
|
||||
pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth);
|
||||
}
|
||||
|
||||
|
|
@ -1057,15 +1071,16 @@ sqtt_CmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer,
|
|||
const VkStridedDeviceAddressRegionKHR *pCallableShaderBindingTable,
|
||||
VkDeviceAddress indirectDeviceAddress)
|
||||
{
|
||||
EVENT_RT_MARKER(TraceRaysIndirectKHR, ApiRayTracingSeparateCompiled, commandBuffer, pRaygenShaderBindingTable,
|
||||
pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress);
|
||||
EVENT_RT_MARKER(TraceRaysIndirectKHR, radv_get_ray_tracing_type(commandBuffer), commandBuffer,
|
||||
pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable,
|
||||
pCallableShaderBindingTable, indirectDeviceAddress);
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
sqtt_CmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress)
|
||||
{
|
||||
EVENT_RT_MARKER_ALIAS(TraceRaysIndirect2KHR, TraceRaysIndirectKHR, ApiRayTracingSeparateCompiled, commandBuffer,
|
||||
indirectDeviceAddress);
|
||||
EVENT_RT_MARKER_ALIAS(TraceRaysIndirect2KHR, TraceRaysIndirectKHR, radv_get_ray_tracing_type(commandBuffer),
|
||||
commandBuffer, indirectDeviceAddress);
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue