C Specification

The VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT structure is defined as:

// Provided by VK_EXT_texel_buffer_alignment
typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
VkStructureType    sType;
void*              pNext;
VkDeviceSize       storageTexelBufferOffsetAlignmentBytes;
VkBool32           storageTexelBufferOffsetSingleTexelAlignment;
VkDeviceSize       uniformTexelBufferOffsetAlignmentBytes;
VkBool32           uniformTexelBufferOffsetSingleTexelAlignment;
} VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;

Members

• sType is the type of this structure.

• pNext is NULL or a pointer to a structure extending this structure.

• storageTexelBufferOffsetAlignmentBytes is a byte alignment that is sufficient for a storage texel buffer of any format. The value must be a power of two.

• storageTexelBufferOffsetSingleTexelAlignment indicates whether single texel alignment is sufficient for a storage texel buffer of any format. The value must be a power of two.

• uniformTexelBufferOffsetAlignmentBytes is a byte alignment that is sufficient for a uniform texel buffer of any format. The value must be a power of two.

• uniformTexelBufferOffsetSingleTexelAlignment indicates whether single texel alignment is sufficient for a uniform texel buffer of any format. The value must be a power of two.

Description

If the VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT structure is included in the pNext chain of the VkPhysicalDeviceProperties2 structure passed to vkGetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

If the single texel alignment property is VK_FALSE, then the buffer view’s offset must be aligned to the corresponding byte alignment value. If the single texel alignment property is VK_TRUE, then the buffer view’s offset must be aligned to the lesser of the corresponding byte alignment value or the size of a single texel, based on VkBufferViewCreateInfo::format. If the size of a single texel is a multiple of three bytes, then the size of a single component of the format is used instead.

These limits must not advertise a larger alignment than the required maximum minimum value of VkPhysicalDeviceLimits::minTexelBufferOffsetAlignment, for any format that supports use as a texel buffer.

Valid Usage (Implicit)
• VUID-VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT-sType-sType
sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT

VK_EXT_texel_buffer_alignment, VkBool32, VkDeviceSize, VkStructureType