vkGetAccelerationStructureMemoryRequirementsNV
An acceleration structure has memory requirements for the structure object itself, scratch space for the build, and scratch space for the update.
Scratch space is allocated as a VkBuffer
, so for
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV
and
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV
the pMemoryRequirements→alignment
and
pMemoryRequirements→memoryTypeBits
values returned by this call must
be filled with zero, and should be ignored by the application.
To query the memory requirements, call:
void vkGetAccelerationStructureMemoryRequirementsNV(
VkDevice device,
const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
VkMemoryRequirements2KHR* pMemoryRequirements);
device
is the logical device on which the acceleration structure was created.pInfo
is a pointer to a VkAccelerationStructureMemoryRequirementsInfoNV structure specifying the acceleration structure to get memory requirements for.pMemoryRequirements
is a pointer to a VkMemoryRequirements2KHR structure in which the requested acceleration structure memory requirements are returned.
Valid Usage (Implicit)
VUID-vkGetAccelerationStructureMemoryRequirementsNV-device-parameter
device
must be a valid VkDevice handle
VUID-vkGetAccelerationStructureMemoryRequirementsNV-pInfo-parameter
pInfo
must be a valid pointer to a valid VkAccelerationStructureMemoryRequirementsInfoNV structure
VUID-vkGetAccelerationStructureMemoryRequirementsNV-pMemoryRequirements-parameter
pMemoryRequirements
must be a valid pointer to a VkMemoryRequirements2KHR structure