vkGetMicromapBuildSizesEXT
To get the build sizes for a micromap, call:
void vkGetMicromapBuildSizesEXT(
VkDevice device,
VkAccelerationStructureBuildTypeKHR buildType,
const VkMicromapBuildInfoEXT* pBuildInfo,
VkMicromapBuildSizesInfoEXT* pSizeInfo);
pub fn get_micromap_build_sizes_ext(
device: vk::Device,
build_type: vk::AccelerationStructureBuildTypeKHR,
p_build_info: *const vk::MicromapBuildInfoEXT,
p_size_info: *mut vk::MicromapBuildSizesInfoEXT,
);
deviceis the logical device that will be used for creating the micromap.buildTypedefines whether host or device operations (or both) are being queried for.pBuildInfois a pointer to a VkMicromapBuildInfoEXT structure describing parameters of a build operation.pSizeInfois 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 size requirements for a scratch buffer may be zero.
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
buildTypeisVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHRorVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR - The build command is a device build command, and
buildTypeisVK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHRorVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR - For VkMicromapBuildInfoEXT:
- Its
type, andflagsmembers are equal topBuildInfo→typeandpBuildInfo→flags, respectively. - The sum of usage information in either
pUsageCountsorppUsageCountsis equal to the sum of usage information in eitherpBuildInfo→pUsageCountsorpBuildInfo→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