VkMicromapTriangleEXT
The VkMicromapTriangleEXT
structure is defined as:
typedef struct VkMicromapTriangleEXT {
uint32_t dataOffset;
uint16_t subdivisionLevel;
uint16_t format;
} VkMicromapTriangleEXT;
dataOffset
is the offset in bytes of the start of the data for this triangle. This is a byte aligned value.subdivisionLevel
is the subdivision level of this triangleformat
is the format of this triangle
Valid Usage
VUID-VkMicromapTriangleEXT-format-07522
If the VkMicromapTypeEXT of the micromap is
VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT
then format
must be
VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT
or
VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT
VUID-VkMicromapTriangleEXT-format-07523
If the VkMicromapTypeEXT of the micromap is
VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT
and format
is
VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT
then subdivisionLevel
must be less than or equal to
VkPhysicalDeviceOpacityMicromapPropertiesEXT::maxOpacity2StateSubdivisionLevel
VUID-VkMicromapTriangleEXT-format-07524
If the VkMicromapTypeEXT of the micromap is
VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT
and format
is
VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT
then subdivisionLevel
must be less than or equal to
VkPhysicalDeviceOpacityMicromapPropertiesEXT::maxOpacity4StateSubdivisionLevel
VUID-VkMicromapTriangleEXT-format-08708
If the VkMicromapTypeEXT of the micromap is
VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV
then format
must
be VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV
,
VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV
or
VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV
VUID-VkMicromapTriangleEXT-subdivisionLevel-08709
If the VkMicromapTypeEXT of the micromap is
VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV
then
subdivisionLevel
must be less than or equal to
VkPhysicalDeviceDisplacementMicromapPropertiesNV::maxDisplacementMicromapSubdivisionLevel
The format
is interpreted based on the type
of the micromap
using it.