Limits
Limits are implementation-dependent minimums, maximums, and other device characteristics that an application may need to be aware of.
VkPhysicalDeviceProperties2, which
was added in VK_KHR_get_physical_device_properties2 and included in
Vulkan 1.1.
When limits are added in future Vulkan versions or extensions, each
extension should introduce one new limit structure, if needed.
This structure can be added to the pNext chain of the
VkPhysicalDeviceProperties2 structure.Limit Requirements
Additional Multisampling Capabilities
If the sample count for which additional multisampling capabilities are
requested using vkGetPhysicalDeviceMultisamplePropertiesEXT is set in
sampleLocationSampleCounts the
width and height members of
VkMultisamplePropertiesEXT::maxSampleLocationGridSize must be
greater than or equal to the corresponding members of
maxSampleLocationGridSize,
respectively, otherwise both members must be 0.
Milestone Limits
Roadmap 2022
Implementations that claim support for the Roadmap 2022 milestone must satisfy the following additional limit requirements:
| Limit | Supported Limit | Limit Type |
|---|---|---|
maxImageDimension1D | 8192 | min |
maxImageDimension2D | 8192 | min |
maxImageDimensionCube | 8192 | min |
maxImageArrayLayers | 2048 | min |
maxUniformBufferRange | 65536 | min |
bufferImageGranularity | 4096 | max |
maxPerStageDescriptorSamplers | 64 | min |
maxPerStageDescriptorUniformBuffers | 15 | min |
maxPerStageDescriptorStorageBuffers | 30 | min |
maxPerStageDescriptorSampledImages | 200 | min |
maxPerStageDescriptorStorageImages | 16 | min |
maxPerStageResources | 200 | min |
maxDescriptorSetSamplers | 576 | min |
maxDescriptorSetUniformBuffers | 90 | min |
maxDescriptorSetStorageBuffers | 96 | min |
maxDescriptorSetSampledImages | 1800 | min |
maxDescriptorSetStorageImages | 144 | min |
maxFragmentCombinedOutputResources | 16 | min |
maxComputeWorkGroupInvocations | 256 | min |
maxComputeWorkGroupSize | (256,256,64) | min |
subTexelPrecisionBits | 8 | min |
mipmapPrecisionBits | 6 | min |
maxSamplerLodBias | 14 | min |
pointSizeGranularity | 0.125 | max |
lineWidthGranularity | 0.5 | max |
standardSampleLocations | VK_TRUE | Boolean |
maxColorAttachments | 7 | min |
subgroupSize | 4 | min |
subgroupSupportedStages | VK_SHADER_STAGE_COMPUTE_BIT``VK_SHADER_STAGE_FRAGMENT_BIT | bitfield |
subgroupSupportedOperations | VK_SUBGROUP_FEATURE_BASIC_BIT``VK_SUBGROUP_FEATURE_VOTE_BIT``VK_SUBGROUP_FEATURE_ARITHMETIC_BIT``VK_SUBGROUP_FEATURE_BALLOT_BIT``VK_SUBGROUP_FEATURE_SHUFFLE_BIT``VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT``VK_SUBGROUP_FEATURE_QUAD_BIT | bitfield |
shaderSignedZeroInfNanPreserveFloat16 | VK_TRUE | Boolean |
shaderSignedZeroInfNanPreserveFloat32 | VK_TRUE | Boolean |
maxSubgroupSize | 4 | min |
maxPerStageDescriptorUpdateAfterBindInputAttachments | 7 | min |
Roadmap 2024
Implementations that claim support for the Roadmap 2024 milestone must satisfy the following additional limit requirements:
| Limit | Supported Limit | Limit Type |
|---|---|---|
shaderRoundingModeRTEFloat16 | VK_TRUE | Boolean |
shaderRoundingModeRTEFloat32 | VK_TRUE | Boolean |
timestampComputeAndGraphics | VK_TRUE | Boolean |
maxColorAttachments | 8 | min |
maxBoundDescriptorSets | 7 | min |
Roadmap 2026
Implementations that claim support for the Roadmap 2026 milestone must satisfy the following additional limit requirements:
| Limit | Supported Limit | Limit Type |
|---|---|---|
maxPerStageDescriptorUniformBuffers | 200 | min |
maxPerStageDescriptorStorageBuffers | 200 | min |
maxPerStageDescriptorInputAttachments | 8 | min |
maxDescriptorSetUniformBuffers | 1800 | min |
maxDescriptorSetStorageBuffers | 1800 | min |
maxDescriptorSetInputAttachments | 8 | min |
maxVertexOutputComponents | 124 | min |
maxTessellationControlPerVertexInputComponents | 128 | min |
maxTessellationControlPerVertexOutputComponents | 128 | min |
maxTessellationControlTotalOutputComponents | 4096 | min |
maxTessellationEvaluationInputComponents | 128 | min |
maxTessellationEvaluationOutputComponents | 128 | min |
maxGeometryOutputComponents | 128 | min |
maxFragmentInputComponents | 112 | min |
maxFragmentOutputAttachments | 8 | min |
maxComputeSharedMemorySize | 32768 | min |
subPixelPrecisionBits | 8 | min |
maxViewportDimensions.width | 8192 | min |
maxViewportDimensions.height | 8192 | min |
maxFramebufferWidth | 8192 | min |
maxFramebufferHeight | 8192 | min |