vulkan: Add more information to BVH update callbacks
Reviewed-by: Natalie Vock <natalie.vock@gmx.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34601>
This commit is contained in:
@@ -251,7 +251,7 @@ get_scratch_layout(struct vk_device *device,
|
||||
if (build_info->type == VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR &&
|
||||
device->as_build_ops->update_as[0]) {
|
||||
scratch->update_size =
|
||||
device->as_build_ops->get_update_scratch_size(device, leaf_count);
|
||||
device->as_build_ops->get_update_scratch_size(device, build_info, leaf_count);
|
||||
} else {
|
||||
scratch->update_size = offset;
|
||||
}
|
||||
@@ -1117,7 +1117,7 @@ vk_cmd_build_acceleration_structures(VkCommandBuffer commandBuffer,
|
||||
VK_FROM_HANDLE(vk_acceleration_structure, dst_as, pInfos[i].dstAccelerationStructure);
|
||||
|
||||
ops->init_update_scratch(commandBuffer, pInfos[i].scratchData.deviceAddress,
|
||||
leaf_node_count, src_as, dst_as);
|
||||
&pInfos[i], ppBuildRangeInfos[i], leaf_node_count, src_as, dst_as);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -76,7 +76,9 @@ struct vk_acceleration_structure_build_ops {
|
||||
VkDeviceSize (*get_as_size)(VkDevice device,
|
||||
const VkAccelerationStructureBuildGeometryInfoKHR *pBuildInfo,
|
||||
uint32_t leaf_count);
|
||||
VkDeviceSize (*get_update_scratch_size)(struct vk_device *device, uint32_t leaf_count);
|
||||
VkDeviceSize (*get_update_scratch_size)(struct vk_device *device,
|
||||
const VkAccelerationStructureBuildGeometryInfoKHR *build_info,
|
||||
uint32_t leaf_count);
|
||||
uint32_t (*get_encode_key[MAX_ENCODE_PASSES])(struct vk_device *device,
|
||||
VkAccelerationStructureTypeKHR type,
|
||||
VkBuildAccelerationStructureFlagBitsKHR flags);
|
||||
@@ -93,6 +95,8 @@ struct vk_acceleration_structure_build_ops {
|
||||
struct vk_acceleration_structure *dst);
|
||||
void (*init_update_scratch)(VkCommandBuffer cmd_buffer,
|
||||
VkDeviceAddress scratch,
|
||||
const VkAccelerationStructureBuildGeometryInfoKHR *build_info,
|
||||
const VkAccelerationStructureBuildRangeInfoKHR *build_range_infos,
|
||||
uint32_t leaf_count,
|
||||
struct vk_acceleration_structure *src_as,
|
||||
struct vk_acceleration_structure *dst_as);
|
||||
|
||||
Reference in New Issue
Block a user