C Specification
The VkMicromapCreateInfoEXT
structure is defined as:
// Provided by VK_EXT_opacity_micromap
typedef struct VkMicromapCreateInfoEXT {
VkStructureType sType;
const void* pNext;
VkMicromapCreateFlagsEXT createFlags;
VkBuffer buffer;
VkDeviceSize offset;
VkDeviceSize size;
VkMicromapTypeEXT type;
VkDeviceAddress deviceAddress;
} VkMicromapCreateInfoEXT;
Members
-
sType
is the type of this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
createFlags
is a bitmask of VkMicromapCreateFlagBitsEXT specifying additional creation parameters of the micromap. -
buffer
is the buffer on which the micromap will be stored. -
offset
is an offset in bytes from the base address of the buffer at which the micromap will be stored, and must be a multiple of256
. -
size
is the size required for the micromap. -
type
is a VkMicromapTypeEXT value specifying the type of micromap that will be created. -
deviceAddress
is the device address requested for the micromap if themicromapCaptureReplay
feature is being used.
Description
If deviceAddress
is zero, no specific address is requested.
If deviceAddress
is not zero, deviceAddress
must be an address
retrieved from an identically created micromap on the same implementation.
The micromap must also be placed on an identically created buffer
and
at the same offset
.
Applications should avoid creating micromaps with application-provided
addresses and implementation-provided addresses in the same process, to
reduce the likelihood of VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR
errors.
Note
The expected usage for this is that a trace capture/replay tool will add the
Implementations are expected to separate such buffers in the GPU address
space so normal allocations will avoid using these addresses.
Apps/tools should avoid mixing app-provided and implementation-provided
addresses for buffers created with
|
If the micromap will be the target of a build operation, the required size for a micromap can be queried with vkGetMicromapBuildSizesEXT.
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.