// Copyright 2021-2023 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 :times: × [[roadmap-2022]] == Roadmap 2022 The Roadmap 2022 milestone is intended to be supported by newer mid-to-high-end devices shipping in 2022 or shortly thereafter across mainstream smartphone, tablet, laptops, console and desktop devices. === Required API Versions This profile requires Vulkan 1.3. === Required Features The following core optional features are required to be supported: * Vulkan 1.0 Optional Features ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> * Vulkan 1.1 Optional Features ** <> * Vulkan 1.2 Optional Features ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> ** <> === Required Limits The following core increased limits are required: .Vulkan 1.0 Limits [width="100%",cols="<35,<9,<14,<14,<11",options="header"] |==== | Limit Name | Unsupported Limit | Core Limit | Profile Limit | Limit Type^1^ | pname:maxImageDimension1D | - | 4096 | 8192 | min | pname:maxImageDimension2D | - | 4096 | 8192 | min | pname:maxImageDimensionCube | - | 4096 | 8192 | min | pname:maxImageArrayLayers | - | 256 | 2048 | min | pname:maxUniformBufferRange | - | 16384 | 65536 | min | pname:bufferImageGranularity | - | 131072 | 4096 | max | pname:maxPerStageDescriptorSamplers | - | 16 | 64 | min | pname:maxPerStageDescriptorUniformBuffers | - | 12 | 15 | min | pname:maxPerStageDescriptorStorageBuffers | - | 4 | 30 | min | pname:maxPerStageDescriptorSampledImages | - | 16 | 200 | min | pname:maxPerStageDescriptorStorageImages | - | 4 | 16 | min | pname:maxPerStageResources | - | 128 | 200 | min | pname:maxDescriptorSetSamplers | - | 96 | 576 | min, _n_ {times} PerStage | pname:maxDescriptorSetUniformBuffers | - | 72 | 90 | min, _n_ {times} PerStage | pname:maxDescriptorSetStorageBuffers | - | 24 | 96 | min, _n_ {times} PerStage | pname:maxDescriptorSetSampledImages | - | 96 | 1800 | min, _n_ {times} PerStage | pname:maxDescriptorSetStorageImages | - | 24 | 144 | min, _n_ {times} PerStage | pname:maxFragmentCombinedOutputResources | - | 4 | 16 | min | pname:maxComputeWorkGroupInvocations | - | 128 | 256 | min | pname:maxComputeWorkGroupSize | - | (128,128,64) | (256,256,64) | min | pname:subTexelPrecisionBits | - | 4 | 8 | min | pname:mipmapPrecisionBits | - | 4 | 6 | min | pname:maxSamplerLodBias | - | 2 | 14 | min | pname:pointSizeGranularity | 0.0 | 1.0 | 0.125 | max, fixed point increment | pname:lineWidthGranularity | 0.0 | 1.0 | 0.5 | max, fixed point increment | pname:standardSampleLocations | - | - | ename:VK_TRUE | implementation-dependent | pname:maxColorAttachments | - | 4 | 7 | min |==== .Vulkan 1.1 Limits [width="100%",cols="<35,<9,<14,<14,<11",options="header"] |==== | Limit Name | Unsupported Limit | Core Limit | Profile Limit | Limit Type^1^ | pname:subgroupSize | - | 1/4 | 4 | implementation-dependent | pname:subgroupSupportedStages | - | ename:VK_SHADER_STAGE_COMPUTE_BIT | ename:VK_SHADER_STAGE_COMPUTE_BIT + ename:VK_SHADER_STAGE_FRAGMENT_BIT | implementation-dependent | pname:subgroupSupportedOperations | - | ename:VK_SUBGROUP_FEATURE_BASIC_BIT | ename:VK_SUBGROUP_FEATURE_BASIC_BIT + ename:VK_SUBGROUP_FEATURE_VOTE_BIT + ename:VK_SUBGROUP_FEATURE_ARITHMETIC_BIT + ename:VK_SUBGROUP_FEATURE_BALLOT_BIT + ename:VK_SUBGROUP_FEATURE_SHUFFLE_BIT + ename:VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT + ename:VK_SUBGROUP_FEATURE_QUAD_BIT | implementation-dependent |==== .Vulkan 1.2 Limits [width="100%",cols="<35,<9,<14,<14,<11",options="header"] |==== | Limit Name | Unsupported Limit | Core Limit | Profile Limit | Limit Type^1^ | pname:shaderSignedZeroInfNanPreserveFloat16 | - | - | ename:VK_TRUE | implementation-dependent | pname:shaderSignedZeroInfNanPreserveFloat32 | - | - | ename:VK_TRUE | implementation-dependent | pname:maxPerStageDescriptorUpdateAfterBindInputAttachments | 0 | 4 | 7 | min |==== .Vulkan 1.3 Limits [width="100%",cols="<35,<9,<14,<14,<11",options="header"] |==== | Limit Name | Unsupported Limit | Core Limit | Profile Limit | Limit Type^1^ | pname:maxSubgroupSize | - | - | 4 | min |==== === Required Extensions The following extensions are required: apiext:VK_KHR_global_priority