To query acceleration structure size parameters call:
// Provided by VK_KHR_acceleration_structure void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
commandBufferis the command buffer into which the command will be recorded.
accelerationStructureCountis the count of acceleration structures for which to query the property.
pAccelerationStructuresis a pointer to an array of existing previously built acceleration structures.
queryTypeis a VkQueryType value specifying the type of queries managed by the pool.
queryPoolis the query pool that will manage the results of the query.
firstQueryis the first query index within the query pool that will contain the
accelerationStructureCountnumber of results.
Accesses to any of the acceleration structures listed in
pAccelerationStructures must be synchronized with the
pipeline stage or the
pipeline stage, and an
access type of
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR, then the value written out is the number of bytes required by a compacted acceleration structure.
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR, then the value written out is the number of bytes required by a serialized acceleration structure.
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.