Required_Limits
The following table specifies the required minimum/maximum for all Vulkan graphics implementations. Where a limit corresponds to a fine-grained device feature which is optional, the feature name is listed with two required limits, one when the feature is supported and one when it is not supported. If an implementation supports a feature, the limits reported are the same whether or not the feature is enabled.
Type | Limit | Feature |
---|---|---|
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
VkDeviceSize | - | |
VkDeviceSize | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
- | ||
3 × | - | |
- | ||
3 × | - | |
- | ||
- | ||
- | ||
- | ||
2 × | - | |
2 × | - | |
- | ||
- | ||
VkDeviceSize | - | |
VkDeviceSize | - | |
VkDeviceSize | - | |
- | ||
- | ||
- | ||
- | ||
- | ||
VkSampleCountFlags | - | |
VkSampleCountFlags | - | |
VkSampleCountFlags | - | |
VkSampleCountFlags | - | |
- | ||
VkSampleCountFlags | - | |
VkSampleCountFlags | - | |
VkSampleCountFlags | - | |
VkSampleCountFlags | - | |
VkSampleCountFlags | ||
- | ||
VkBool32 | - | |
- | ||
- | ||
2 × | ||
2 × | ||
VkBool32 | - | |
VkBool32 | - | |
VkDeviceSize | - | |
VkDeviceSize | - | |
VkDeviceSize | - | |
VkBool32 | ||
VkBool32 | ||
VkDeviceSize | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | - | |
VkBool32 | - | |
VkBool32 | - | |
VkBool32 | - | |
VkBool32 | - | |
Vulkan 1.4, VK_KHR_vertex_attribute_divisor, VK_EXT_vertex_attribute_divisor | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
3 × | VkPhysicalDeviceMeshShaderPropertiesNV:: | |
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
3 × | VkPhysicalDeviceMeshShaderPropertiesNV:: | |
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesNV:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
3 × | VkPhysicalDeviceMeshShaderPropertiesEXT:: | |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
3 × | VkPhysicalDeviceMeshShaderPropertiesEXT:: | |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
3 × | VkPhysicalDeviceMeshShaderPropertiesEXT:: | |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
3 × | VkPhysicalDeviceMeshShaderPropertiesEXT:: | |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkPhysicalDeviceMeshShaderPropertiesEXT:: | ||
VkBool32 | VkPhysicalDeviceMeshShaderPropertiesEXT:: | |
VkBool32 | VkPhysicalDeviceMeshShaderPropertiesEXT:: | |
VkBool32 | VkPhysicalDeviceMeshShaderPropertiesEXT:: | |
VkBool32 | VkPhysicalDeviceMeshShaderPropertiesEXT:: | |
VkDeviceSize | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkExtent2D | ||
VkExtent2D | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkExtent2D | ||
Vulkan 1.4, VK_KHR_line_rasterization, VK_EXT_line_rasterization | ||
VkDeviceSize | ||
VkDeviceSize | ||
2 × | ||
2 × | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
2 × | ||
VkSampleCountFlagBits | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkSampleCountFlagBits | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | ||
VkDeviceSize | ||
VkDeviceSize | ||
VkDeviceSize | ||
VkDeviceSize | ||
VkDeviceSize | ||
VkDeviceSize | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | - | |
2 × | ||
2 × | ||
2 × | ||
VkBool32 | ||
3 × | ||
3 × | ||
VkDeviceSize | ||
3 × | ||
VkDeviceSize | ||
VkBool32 | ||
VkBool32 | ||
VkBool32 | - | |
VkBool32 | - | |
VkBool32 | ||
2 × | ||
2 × |
Limit | Unsupported Limit | Supported Limit | Limit Type |
---|---|---|---|
- | 4096 ({core}) 8192 ({limit2022}, {limit1_4}) | min | |
- | 4096 ({core}) 8192 ({limit2022}, {limit1_4}) | min | |
- | 256 ({core}) 512 ({limit1_4}) | min | |
- | 4096 ({core}) 8192 ({limit2022}, {limit1_4}) | min | |
- | 256 ({core}) 2048 ({limit2022}, {limit1_4}) | min | |
- | 65536 | min | |
- | 16384 ({core}) 65536 ({limit2022}, {limit1_4}) | min | |
- | 2 | min | |
- | 128 ({core}) 256 ({limit1_4}) | min | |
- | 4096 | min | |
- | 4000 | min | |
- | 131072 ({core}) 4096 ({limit2022}, {limit1_4}) | max | |
0 | 2 | min | |
- | 4 ({core}) 7 ({limit2024}, {limit1_4}) | min | |
- | 16 | min | |
- | 12 ({core}) 15 ({limit2022}, {limit1_4}) | min | |
- | 4 ({core}) 30 ({limit2022}) | min | |
- | 16 ({core}) 200 ({limit2022}) | min | |
- | 4 ({core}) 144 ({limit2022}) | min | |
- | 4 | min | |
- | 128 | min | |
- | 96 | min, | |
- | 72 | min, | |
- | 8 | min | |
- | 24 | min, | |
- | 4 | min | |
- | min | ||
- | min | ||
- | min | ||
- | 96 | min, | |
- | 24 | min, | |
- | 4 | min | |
- | 16 | min | |
- | 16 | min | |
- | 2047 | min | |
- | 2048 | min | |
- | 64 | min | |
0 | 64 | min | |
0 | 32 | min | |
0 | 64 | min | |
0 | 64 | min | |
0 | 120 | min | |
0 | 2048 | min | |
0 | 64 | min | |
0 | 64 | min | |
0 | 32 | min | |
0 | 64 | min | |
0 | 64 | min | |
0 | 256 | min | |
0 | 1024 | min | |
- | 64 | min | |
- | 4 | min | |
0 | 1 | min | |
- | 4 ({core}) 16 ({limit2022}, {limit1_4}) | min | |
- | 16384 | min | |
- | (65535,65535,65535) | min | |
- | 128 ({core}) 256 ({limit2022}, {limit1_4}) | min | |
- | (128,128,64) ({core}) (256,256,64) ({limit2022}, {limit1_4}) | min | |
- | - ({core})
| Boolean | |
- | - ({core})
| Boolean | |
- | Boolean | ||
- | Boolean | ||
- | - ({core}) 4 ({limit2022}) | min | |
- | 4 | min | |
- | 4 ({core}) 8 ({limit2022}, {limit1_4}) | min | |
- | 4 ({core}) 6 ({limit2022}, {limit1_4}) | min | |
2 | 2 | min | |
1 | 2 | min | |
- | 2 ({core}) 14 ({limit2022}, {limit1_4}) | min | |
1 | 16 | min | |
1 | 16 | min | |
- | (4096,4096) | min | |
- | (-8192,8191) | (max,min) | |
- | 0 | min | |
- | 64 | min | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | -8 | max | |
- | 7 | min | |
0 | -8 | max | |
0 | 7 | min | |
0.0 | -0.5 | max | |
0.0 | 0.5 - (1 ULP) | min | |
0 | 4 | min | |
- | 4096 | min | |
- | 4096 | min | |
- | 256 | min | |
- | ( | min | |
- | ( | min | |
- | ( | min | |
- | ( | min | |
- | 4 ({core}) 7 ({limit2022}) 8 ({limit2024}, {limit1_4}) | min | |
- | ( | min | |
- | min | ||
- | ( | min | |
- | ( | min | |
( | min | ||
- | 1 | min | |
- | - ({core})
| Boolean | |
- | - | duration | |
0 | 8 | min | |
0 | 8 | min | |
0 | 8 | min | |
- | 2 | min | |
(1.0,1.0) | (1.0,64.0 - ULP) | (max,min) | |
(1.0,1.0) | (1.0,8.0 - ULP) | (max,min) | |
0.0 | 1.0 | max, fixed point increment | |
0.0 | 1.0 | max, fixed point increment | |
- | - | implementation-dependent | |
- | - ({core})
| Boolean | |
- | - | recommendation | |
- | - | recommendation | |
- | 256 | max | |
- | 32 | min | |
- | 6 | min | |
- | 2 | min | |
0 | 4 | min | |
- | min | ||
- | (1,1) | min | |
- | (0.0, 0.9375) | (max,min) | |
- | 4 | min | |
- | implementation-dependent | ||
- | implementation-dependent | ||
- | 65536 | max | |
- | - | implementation-dependent | |
- | - | implementation-dependent | |
- | - | implementation-dependent | |
- | 1 | min | |
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | 1024 | min | |
- | 2 | min | |
- | 2 | min | |
- | 0.0 | min | |
- | 0.0 | min | |
- | 0.0 | min | |
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
0 | 500000 | min | |
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
0 | 500000 | min | |
0 | 12 | min | |
0 | 500000 | min | |
0 | 500000 | min | |
0 | 500000 | min | |
0 | 4 | min | |
0 | 500000 | min | |
0 | 500000 | min | |
0 | 72 | min, | |
0 | 8 | min | |
0 | 500000 | min | |
0 | 4 | min | |
0 | min | ||
0 | min | ||
0 | min | ||
0 | 500000 | min | |
0 | 500000 | min | |
0 | 4 | min | |
- | 256 | min | |
- | 4 | min | |
- | 4 | min | |
- | 4 | min | |
- | 4 | min | |
- | 2 | min | |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 2 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 32 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | (32,1,1) | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 16384 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 2 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 32 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | (32,1,1) | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 16384 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 256 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 256 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | 1 | min |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | - | implementation-dependent |
VkPhysicalDeviceMeshShaderPropertiesNV:: | - | - | implementation-dependent |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 2^22 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | (65535,65535,65535) | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 128 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | (128,128,128) | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 16384 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 32768 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 32768 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 2^22 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | (65535,65535,65535) | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 128 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | (128,128,128) | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 28672 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 28672 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 32768 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 48128 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 128 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 256 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 256 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 8 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | 1 | min |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | 0 | 32 | max |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | 0 | 32 | max |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | - | implementation-dependent |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | - | implementation-dependent |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | - | implementation-dependent |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | - | implementation-dependent |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | - | implementation-dependent |
VkPhysicalDeviceMeshShaderPropertiesEXT:: | - | - | implementation-dependent |
- | 1 | min | |
- | 1 | min | |
- | 2 | min | |
- | 512 | min | |
- | 512 | min | |
- | 512 | min | |
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | (1,1) | min | |
- | (1,1) | min | |
- | - | implementation-dependent | |
implementation-dependent | |||
implementation-dependent | |||
2 | 2 | min | |
1 | 1 | min | |
- | (1024,1024) | max | |
VkPhysicalDeviceRayTracingPropertiesNV:: | - | 16 | min |
VkPhysicalDeviceRayTracingPropertiesNV:: | - | 31 | min |
VkPhysicalDeviceRayTracingPipelinePropertiesKHR:: | - | 32 | exact |
VkPhysicalDeviceRayTracingPipelinePropertiesKHR:: | - | 1 | min |
- | 4096 | min | |
- | 64 | max | |
- | 2 | min | |
- | 2 | min | |
- | 2 | min | |
- | 2 | min | |
- | 16 | min | |
- | 500000 | min | |
- | 256 | min | |
- | 256 | min | |
- | 256 | max | |
- | 128 | max | |
- | 32 | max | |
- | 256 | max | |
- | 32 | max | |
- | 2 | min | |
- | 16 | min | |
- | 500000 | min | |
- | 256 | max | |
- | 64 | max | |
- | 2 | min | |
- | 32 | max | |
- | 32 | min | |
- | 2 | min | |
- | 2 | min | |
- | 4 | min | |
- | 2 | min | |
- | 2 | min | |
- | 2048 | min | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 2 | min | |
- | 16 | min | |
- | 2047 | min | |
- | 2 | min | |
- | false | implementation-dependent | |
- | false | implementation-dependent | |
0 | 2 | implementation-dependent | |
- | 2048 | min | |
- | min | ||
- | ( | min | |
- | 0 | min | |
- | 0 | min | |
- | 32 | min | |
- | 4 | max | |
- | 256 | max | |
(0,0) | (32,32) | max | |
(0,0) | (8,8) | min | |
0 | 1 | min | |
implementation-dependent | |||
implementation-dependent | |||
- | implementation-dependent | ||
- | (2,2) | min | |
- | 2 | min | |
- | 16 | min | |
- | min | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | min | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | 256 | max | |
- | 3 | min | |
- | 1 | min | |
- | 1 | min | |
- | 1 | min | |
- | 2032 | min | |
- | 64 | max | |
- | 64 | max | |
- | 64 | max | |
- | 64 | max | |
- | 64 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | 256 | max | |
- | min | ||
- | min | ||
- | 2 | min | |
- | 2 | min | |
- | 2 | min | |
- | 256 | max | |
0 | 1 | min | |
- | 1024 | min | |
- | 1 | min | |
- | implementation-dependent | ||
- | implementation-dependent | ||
- | implementation-dependent | ||
- | 1024 | min | |
- | (64,64) | min | |
- | (64,64) | min | |
- | (64,64) | min | |
- | - | implementation-dependent | |
- | 3 | min | |
- | 3 | min | |
1 | 2 | min | |
- | (65536,1,1) | min | |
- | (32,1,1) | min | |
- | 1024 | min | |
- | - | implementation-dependent | |
- | 32 | min | |
- | 256 | min | |
- | 32768 | min | |
- | 256 | min | |
- | 4 | max | |
- | 1024 | min | |
- | (65535,65535,65535) | min | |
- | 2 | min | |
0 | min | ||
- | (64,64) | max | |
- | 32 | min | |
- | 65536 | max | |
- | 1 | min | |
- | implementation-dependent | ||
- | min | ||
- | 256 | min | |
- | max | ||
- | 128 | min | |
- | 1 | min | |
- | - | implementation-dependent | |
- | (16,16) | min | |
- | (8,8) | min |