vkGetMicromapBuildSizesEXT
To get the build sizes for a micromap, call:
void vkGetMicromapBuildSizesEXT(
VkDevice device,
VkAccelerationStructureBuildTypeKHR buildType,
const VkMicromapBuildInfoEXT* pBuildInfo,
VkMicromapBuildSizesInfoEXT* pSizeInfo);
device
is the logical device that will be used for creating the micromap.buildType
defines whether host or device operations (or both) are being queried for.pBuildInfo
is a pointer to a VkMicromapBuildInfoEXT structure describing parameters of a build operation.pSizeInfo
is a pointer to a VkMicromapBuildSizesInfoEXT structure which returns the size required for a micromap and the sizes required for the scratch buffers, given the build parameters.
The dstMicromap
and mode
members of pBuildInfo
are
ignored.
Any VkDeviceOrHostAddressKHR members of pBuildInfo
are ignored
by this command.
A micromap created with the micromapSize
returned by this command
supports any build with a VkMicromapBuildInfoEXT structure subject to
the following properties:
- The build command is a host build command, and
buildType
isVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR
orVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
- The build command is a device build command, and
buildType
isVK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR
orVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR
- For VkMicromapBuildInfoEXT:
- Its
type
, andflags
members are equal topBuildInfo→type
andpBuildInfo→flags
, respectively. - The sum of usage information in either
pUsageCounts
orppUsageCounts
is equal to the sum of usage information in eitherpBuildInfo→pUsageCounts
orpBuildInfo→ppUsageCounts
.
- Its
Similarly, the buildScratchSize
value will support any build command
specifying the VK_BUILD_MICROMAP_MODE_BUILD_EXT
mode
under the
above conditions.
Valid Usage
VUID-vkGetMicromapBuildSizesEXT-dstMicromap-09180
VkMicromapBuildInfoEXT::dstMicromap
must have been created
from device
VUID-vkGetMicromapBuildSizesEXT-micromap-07439
The micromap
feature must be enabled
VUID-vkGetMicromapBuildSizesEXT-device-07440
If device
was created with multiple physical devices, then the
bufferDeviceAddressMultiDevice
feature must be enabled
Valid Usage (Implicit)
VUID-vkGetMicromapBuildSizesEXT-device-parameter
device
must be a valid VkDevice handle
VUID-vkGetMicromapBuildSizesEXT-buildType-parameter
buildType
must be a valid VkAccelerationStructureBuildTypeKHR value
VUID-vkGetMicromapBuildSizesEXT-pBuildInfo-parameter
pBuildInfo
must be a valid pointer to a valid VkMicromapBuildInfoEXT structure
VUID-vkGetMicromapBuildSizesEXT-pSizeInfo-parameter
pSizeInfo
must be a valid pointer to a VkMicromapBuildSizesInfoEXT structure