vkCmdWriteAccelerationStructuresPropertiesNV
To query acceleration structure size parameters call:
void vkCmdWriteAccelerationStructuresPropertiesNV(
VkCommandBuffer commandBuffer,
uint32_t accelerationStructureCount,
const VkAccelerationStructureNV* 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 theaccelerationStructureCountnumber of results.
Accesses to any of the acceleration structures listed in
pAccelerationStructures must be synchronized with the
VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
pipeline stage and an
access type of
VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR.
Valid Usage
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-03755
queryPool must have been created with a queryType matching
queryType
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-03756
The queries identified by queryPool and firstQuery must be
unavailable
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructure-03757
accelerationStructure must be bound completely and contiguously
to a single VkDeviceMemory object via
vkBindAccelerationStructureMemoryNV
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-04958
All acceleration structures in pAccelerationStructures must have
been built prior to the execution of this command
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-06215
All acceleration structures in pAccelerationStructures must have
been built with
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR if
queryType is
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-06216
queryType must be
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV
Valid Usage (Implicit)
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-parameter
pAccelerationStructures must be a valid pointer to an array of accelerationStructureCount valid VkAccelerationStructureNV handles
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-parameter
queryType must be a valid VkQueryType value
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-parameter
queryPool must be a valid VkQueryPool handle
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support compute operations
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-renderpass
This command must only be called outside of a render pass instance
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-videocoding
This command must only be called outside of a video coding scope
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructureCount-arraylength
accelerationStructureCount must be greater than 0
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commonparent
Each of commandBuffer, queryPool, and the elements of pAccelerationStructures must have been created, allocated, or retrieved from the same VkDevice
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized ::