mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
vulkan: add an enum for the build step
For Anv this will make more sense than strings. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com> Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32483>
This commit is contained in:
parent
877a296b2c
commit
4c32469fa4
2 changed files with 40 additions and 11 deletions
|
|
@ -452,6 +452,7 @@ vk_fill_geometry_data(VkAccelerationStructureTypeKHR type, uint32_t first_id, ui
|
|||
|
||||
void
|
||||
vk_accel_struct_cmd_begin_debug_marker(VkCommandBuffer commandBuffer,
|
||||
enum vk_acceleration_structure_build_step step,
|
||||
const char *format, ...)
|
||||
{
|
||||
VK_FROM_HANDLE(vk_command_buffer, cmd_buffer, commandBuffer);
|
||||
|
|
@ -517,8 +518,11 @@ build_leaves(VkCommandBuffer commandBuffer,
|
|||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
if (args->emit_markers)
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer, "build_leaves");
|
||||
if (args->emit_markers) {
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_BUILD_LEAVES,
|
||||
"build_leaves");
|
||||
}
|
||||
|
||||
const struct vk_device_dispatch_table *disp = &device->dispatch_table;
|
||||
disp->CmdBindPipeline(
|
||||
|
|
@ -576,8 +580,11 @@ morton_generate(VkCommandBuffer commandBuffer, struct vk_device *device,
|
|||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
if (args->emit_markers)
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer, "morton_generate");
|
||||
if (args->emit_markers) {
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_MORTON_GENERATE,
|
||||
"morton_generate");
|
||||
}
|
||||
|
||||
const struct vk_device_dispatch_table *disp = &device->dispatch_table;
|
||||
disp->CmdBindPipeline(
|
||||
|
|
@ -611,8 +618,11 @@ morton_sort(VkCommandBuffer commandBuffer, struct vk_device *device,
|
|||
{
|
||||
const struct vk_device_dispatch_table *disp = &device->dispatch_table;
|
||||
|
||||
if (args->emit_markers)
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer, "morton_sort");
|
||||
if (args->emit_markers) {
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_MORTON_SORT,
|
||||
"morton_sort");
|
||||
}
|
||||
|
||||
/* Copyright 2019 The Fuchsia Authors. */
|
||||
const radix_sort_vk_t *rs = args->radix_sort;
|
||||
|
|
@ -856,8 +866,11 @@ lbvh_build_internal(VkCommandBuffer commandBuffer,
|
|||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
if (args->emit_markers)
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer, "lbvh_build_internal");
|
||||
if (args->emit_markers) {
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_LBVH_BUILD_INTERNAL,
|
||||
"lbvh_build_internal");
|
||||
}
|
||||
|
||||
const struct vk_device_dispatch_table *disp = &device->dispatch_table;
|
||||
disp->CmdBindPipeline(
|
||||
|
|
@ -937,8 +950,11 @@ ploc_build_internal(VkCommandBuffer commandBuffer,
|
|||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
if (args->emit_markers)
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer, "ploc_build_internal");
|
||||
if (args->emit_markers) {
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_PLOC_BUILD_INTERNAL,
|
||||
"ploc_build_internal");
|
||||
}
|
||||
|
||||
const struct vk_device_dispatch_table *disp = &device->dispatch_table;
|
||||
disp->CmdBindPipeline(
|
||||
|
|
@ -992,6 +1008,7 @@ vk_cmd_build_acceleration_structures(VkCommandBuffer commandBuffer,
|
|||
|
||||
if (args->emit_markers) {
|
||||
device->as_build_ops->begin_debug_marker(commandBuffer,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_TOP,
|
||||
"vkCmdBuildAccelerationStructuresKHR(%u)",
|
||||
infoCount);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,15 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum vk_acceleration_structure_build_step {
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_TOP,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_BUILD_LEAVES,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_MORTON_GENERATE,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_MORTON_SORT,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_LBVH_BUILD_INTERNAL,
|
||||
VK_ACCELERATION_STRUCTURE_BUILD_STEP_PLOC_BUILD_INTERNAL,
|
||||
};
|
||||
|
||||
struct vk_acceleration_structure {
|
||||
struct vk_object_base base;
|
||||
|
||||
|
|
@ -49,7 +58,9 @@ VK_DEFINE_NONDISP_HANDLE_CASTS(vk_acceleration_structure, base, VkAccelerationSt
|
|||
#define MAX_UPDATE_PASSES 2
|
||||
|
||||
struct vk_acceleration_structure_build_ops {
|
||||
void (*begin_debug_marker)(VkCommandBuffer commandBuffer, const char *format, ...);
|
||||
void (*begin_debug_marker)(VkCommandBuffer commandBuffer,
|
||||
enum vk_acceleration_structure_build_step step,
|
||||
const char *format, ...);
|
||||
void (*end_debug_marker)(VkCommandBuffer commandBuffer);
|
||||
VkDeviceSize (*get_as_size)(VkDevice device,
|
||||
const VkAccelerationStructureBuildGeometryInfoKHR *pBuildInfo,
|
||||
|
|
@ -128,6 +139,7 @@ vk_fill_geometry_data(VkAccelerationStructureTypeKHR type, uint32_t first_id, ui
|
|||
const VkAccelerationStructureBuildRangeInfoKHR *build_range_info);
|
||||
|
||||
void vk_accel_struct_cmd_begin_debug_marker(VkCommandBuffer commandBuffer,
|
||||
enum vk_acceleration_structure_build_step step,
|
||||
const char *format, ...);
|
||||
|
||||
void vk_accel_struct_cmd_end_debug_marker(VkCommandBuffer commandBuffer);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue