Function Prototype

vkWriteMicromapsPropertiesEXT

Query micromap meta-data on the host

To query micromap size parameters on the host, call:

VkResult vkWriteMicromapsPropertiesEXT(
    VkDevice device,
    uint32_t micromapCount,
    const VkMicromapEXT* pMicromaps,
    VkQueryType  queryType,
    size_t       dataSize,
    void* pData,
    size_t stride);
  • device is the device which owns the micromaps in pMicromaps.
  • micromapCount is the count of micromaps for which to query the property.
  • pMicromaps is a pointer to an array of existing previously built micromaps.
  • queryType is a VkQueryType value specifying the property to be queried.
  • dataSize is the size in bytes of the buffer pointed to by pData.
  • pData is a pointer to an application-allocated buffer where the results will be written.
  • stride is the stride in bytes between results for individual queries within pData.

This command fulfills the same task as vkCmdWriteMicromapsPropertiesEXT but is executed by the host.

Valid Usage

VUID-vkWriteMicromapsPropertiesEXT-pMicromaps-07501

All micromaps in pMicromaps must have been constructed prior to the execution of this command

VUID-vkWriteMicromapsPropertiesEXT-pMicromaps-07502

All micromaps in pMicromaps must have been constructed with VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT if queryType is VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT

VUID-vkWriteMicromapsPropertiesEXT-queryType-07503

queryType must be VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT or VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT

VUID-vkWriteMicromapsPropertiesEXT-queryType-10071

If queryType is VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT or VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT then stride must be a multiple of the size of VkDeviceSize

VUID-vkWriteMicromapsPropertiesEXT-queryType-10072

If queryType is VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT or VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT then pData must point to a VkDeviceSize

VUID-vkWriteMicromapsPropertiesEXT-dataSize-07576

dataSize must be greater than or equal to micromapCount*stride

VUID-vkWriteMicromapsPropertiesEXT-buffer-07577

The buffer used to create each micromap in pMicromaps must be bound to host-visible device memory

VUID-vkWriteMicromapsPropertiesEXT-buffer-07579

The buffer used to create each micromap in pMicromaps must be bound to memory that was not allocated with multiple instances

Valid Usage (Implicit)

VUID-vkWriteMicromapsPropertiesEXT-pMicromaps-parameter

pMicromaps must be a valid pointer to an array of micromapCount valid VkMicromapEXT handles

VUID-vkWriteMicromapsPropertiesEXT-pData-parameter

pData must be a valid pointer to an array of dataSize bytes

VUID-vkWriteMicromapsPropertiesEXT-pMicromaps-parent

Each element of pMicromaps must have been created, allocated, or retrieved from device