C Specification
The VkPhysicalDeviceVulkan13Properties structure is defined as:
// Provided by VK_VERSION_1_3
typedef struct VkPhysicalDeviceVulkan13Properties {
VkStructureType sType;
void* pNext;
uint32_t minSubgroupSize;
uint32_t maxSubgroupSize;
uint32_t maxComputeWorkgroupSubgroups;
VkShaderStageFlags requiredSubgroupSizeStages;
uint32_t maxInlineUniformBlockSize;
uint32_t maxPerStageDescriptorInlineUniformBlocks;
uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
uint32_t maxDescriptorSetInlineUniformBlocks;
uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
uint32_t maxInlineUniformTotalSize;
VkBool32 integerDotProduct8BitUnsignedAccelerated;
VkBool32 integerDotProduct8BitSignedAccelerated;
VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
VkBool32 integerDotProduct16BitUnsignedAccelerated;
VkBool32 integerDotProduct16BitSignedAccelerated;
VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
VkBool32 integerDotProduct32BitUnsignedAccelerated;
VkBool32 integerDotProduct32BitSignedAccelerated;
VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
VkBool32 integerDotProduct64BitUnsignedAccelerated;
VkBool32 integerDotProduct64BitSignedAccelerated;
VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
VkDeviceSize maxBufferSize;
} VkPhysicalDeviceVulkan13Properties;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure.
Description
-
minSubgroupSizeis the minimum subgroup size supported by this device.minSubgroupSizeis at least one if any of the physical device’s queues supportVK_QUEUE_GRAPHICS_BITorVK_QUEUE_COMPUTE_BIT.minSubgroupSizeis a power-of-two.minSubgroupSizeis less than or equal tomaxSubgroupSize.minSubgroupSizeis less than or equal tosubgroupSize. -
maxSubgroupSizeis the maximum subgroup size supported by this device.maxSubgroupSizeis at least one if any of the physical device’s queues supportVK_QUEUE_GRAPHICS_BITorVK_QUEUE_COMPUTE_BIT.maxSubgroupSizeis a power-of-two.maxSubgroupSizeis greater than or equal tominSubgroupSize.maxSubgroupSizeis greater than or equal tosubgroupSize. -
maxComputeWorkgroupSubgroupsis the maximum number of subgroups supported by the implementation within a workgroup. -
requiredSubgroupSizeStagesis a bitfield of what shader stages support having a required subgroup size specified. -
maxInlineUniformBlockSizeis the maximum size in bytes of an inline uniform block binding. -
maxPerStageDescriptorInlineUniformBlocksis the maximum number of inline uniform block bindings that can be accessible to a single shader stage in a pipeline layout. Descriptor bindings with a descriptor type ofVK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCKcount against this limit. Only descriptor bindings in descriptor set layouts created without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set count against this limit. -
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocksis similar tomaxPerStageDescriptorInlineUniformBlocksbut counts descriptor bindings from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set. -
maxDescriptorSetInlineUniformBlocksis the maximum number of inline uniform block bindings that can be included in descriptor bindings in a pipeline layout across all pipeline shader stages and descriptor set numbers. Descriptor bindings with a descriptor type ofVK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCKcount against this limit. Only descriptor bindings in descriptor set layouts created without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set count against this limit. -
maxDescriptorSetUpdateAfterBindInlineUniformBlocksis similar tomaxDescriptorSetInlineUniformBlocksbut counts descriptor bindings from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set. -
maxInlineUniformTotalSizeis the maximum total size in bytes of all inline uniform block bindings, across all pipeline shader stages and descriptor set numbers, that can be included in a pipeline layout. Descriptor bindings with a descriptor type ofVK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCKcount against this limit. -
integerDotProduct8BitUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit unsigned dot product operations using theOpUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct8BitSignedAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit signed dot product operations using theOpSDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct8BitMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit mixed signedness dot product operations using theOpSUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct4x8BitPackedUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit unsigned dot product operations from operands packed into 32-bit integers using theOpUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct4x8BitPackedSignedAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit signed dot product operations from operands packed into 32-bit integers using theOpSDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct4x8BitPackedMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit mixed signedness dot product operations from operands packed into 32-bit integers using theOpSUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct16BitUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 16-bit unsigned dot product operations using theOpUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct16BitSignedAcceleratedis a boolean that will beVK_TRUEif the support for 16-bit signed dot product operations using theOpSDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct16BitMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 16-bit mixed signedness dot product operations using theOpSUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct32BitUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 32-bit unsigned dot product operations using theOpUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct32BitSignedAcceleratedis a boolean that will beVK_TRUEif the support for 32-bit signed dot product operations using theOpSDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct32BitMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 32-bit mixed signedness dot product operations using theOpSUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct64BitUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 64-bit unsigned dot product operations using theOpUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct64BitSignedAcceleratedis a boolean that will beVK_TRUEif the support for 64-bit signed dot product operations using theOpSDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProduct64BitMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 64-bit mixed signedness dot product operations using theOpSUDotKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating8BitUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit unsigned accumulating saturating dot product operations using theOpUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating8BitSignedAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit signed accumulating saturating dot product operations using theOpSDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating8BitMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit mixed signedness accumulating saturating dot product operations using theOpSUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit unsigned accumulating saturating dot product operations from operands packed into 32-bit integers using theOpUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating4x8BitPackedSignedAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit signed accumulating saturating dot product operations from operands packed into 32-bit integers using theOpSDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 8-bit mixed signedness accumulating saturating dot product operations from operands packed into 32-bit integers using theOpSUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating16BitUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 16-bit unsigned accumulating saturating dot product operations using theOpUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating16BitSignedAcceleratedis a boolean that will beVK_TRUEif the support for 16-bit signed accumulating saturating dot product operations using theOpSDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating16BitMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 16-bit mixed signedness accumulating saturating dot product operations using theOpSUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating32BitUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 32-bit unsigned accumulating saturating dot product operations using theOpUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating32BitSignedAcceleratedis a boolean that will beVK_TRUEif the support for 32-bit signed accumulating saturating dot product operations using theOpSDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating32BitMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 32-bit mixed signedness accumulating saturating dot product operations using theOpSUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating64BitUnsignedAcceleratedis a boolean that will beVK_TRUEif the support for 64-bit unsigned accumulating saturating dot product operations using theOpUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating64BitSignedAcceleratedis a boolean that will beVK_TRUEif the support for 64-bit signed accumulating saturating dot product operations using theOpSDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
integerDotProductAccumulatingSaturating64BitMixedSignednessAcceleratedis a boolean that will beVK_TRUEif the support for 64-bit mixed signedness accumulating saturating dot product operations using theOpSUDotAccSatKHRSPIR-V instruction is accelerated as defined below. -
storageTexelBufferOffsetAlignmentBytesis a byte alignment that is sufficient for a storage texel buffer of any format. The value must be a power of two. -
storageTexelBufferOffsetSingleTexelAlignmentindicates whether single texel alignment is sufficient for a storage texel buffer of any format. -
uniformTexelBufferOffsetAlignmentBytesis a byte alignment that is sufficient for a uniform texel buffer of any format. The value must be a power of two. -
uniformTexelBufferOffsetSingleTexelAlignmentindicates whether single texel alignment is sufficient for a uniform texel buffer of any format. -
maxBufferSizeis the maximum sizeVkBufferthat can be created.
If the VkPhysicalDeviceVulkan13Properties structure is included in the pNext chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
These properties correspond to Vulkan 1.3 functionality.
The members of VkPhysicalDeviceVulkan13Properties must have the same
values as the corresponding members of
VkPhysicalDeviceInlineUniformBlockProperties and
VkPhysicalDeviceSubgroupSizeControlProperties.
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.