1e5c31af7Sopenharmony_ci// Copyright 2015-2024 The Khronos Group Inc.
2e5c31af7Sopenharmony_ci//
3e5c31af7Sopenharmony_ci// SPDX-License-Identifier: CC-BY-4.0
4e5c31af7Sopenharmony_ci
5e5c31af7Sopenharmony_ci[appendix]
6e5c31af7Sopenharmony_ci
7e5c31af7Sopenharmony_ci[[versions]]
8e5c31af7Sopenharmony_ci= Core Revisions (Informative)
9e5c31af7Sopenharmony_ci
10e5c31af7Sopenharmony_ciNew minor versions of the Vulkan API are defined periodically by the Khronos
11e5c31af7Sopenharmony_ciVulkan Working Group.
12e5c31af7Sopenharmony_ciThese consist of some amount of additional functionality added to the core
13e5c31af7Sopenharmony_ciAPI, potentially including both new functionality and functionality
14e5c31af7Sopenharmony_ci<<extendingvulkan-compatibility-promotion,promoted>> from extensions.
15e5c31af7Sopenharmony_ci
16e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1[]
17e5c31af7Sopenharmony_ciIt is possible to build the specification for earlier versions, but to aid
18e5c31af7Sopenharmony_cireadability of the latest versions, this appendix gives an overview of the
19e5c31af7Sopenharmony_cichanges as compared to earlier versions.
20e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1[]
21e5c31af7Sopenharmony_ci
22e5c31af7Sopenharmony_ciifndef::VKSC_VERSION_1_0[:promoted: {generated}/meta]
23e5c31af7Sopenharmony_ciifdef::VKSC_VERSION_1_0[:promoted: {appendices}/sc_static]
24e5c31af7Sopenharmony_ci
25e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_3[]
26e5c31af7Sopenharmony_ci[[versions-1.3]]
27e5c31af7Sopenharmony_ci== Version 1.3
28e5c31af7Sopenharmony_ci
29e5c31af7Sopenharmony_ci// Unfortunately we cannot include titles in an open refpage block, so this
30e5c31af7Sopenharmony_ci// is a refpage-specific alternate form of the section.
31e5c31af7Sopenharmony_ciifdef::isrefpage[]
32e5c31af7Sopenharmony_ci[open,refpage='VK_VERSION_1_3',desc='Vulkan version 1.3',type='feature',anchor='versions-1.3',xrefs='VK_VERSION_1_0 VK_VERSION_1_1 VK_VERSION_1_2']
33e5c31af7Sopenharmony_ci--
34e5c31af7Sopenharmony_ciVulkan Version 1.3 <<extendingvulkan-compatibility-promotion,promoted>> a
35e5c31af7Sopenharmony_cinumber of key extensions into the core API:
36e5c31af7Sopenharmony_ci
37e5c31af7Sopenharmony_ciinclude::{generated}/meta/promoted_extensions_VK_VERSION_1_3.adoc[]
38e5c31af7Sopenharmony_ci
39e5c31af7Sopenharmony_ciAll differences in behavior between these extensions and the corresponding
40e5c31af7Sopenharmony_ciVulkan 1.3 functionality are summarized in the <<versions-1.3-promotions,
41e5c31af7Sopenharmony_ciVulkan 1.3 specification appendix>>.
42e5c31af7Sopenharmony_ci
43e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_VERSION_1_3.adoc[]
44e5c31af7Sopenharmony_ci--
45e5c31af7Sopenharmony_ciendif::isrefpage[]
46e5c31af7Sopenharmony_ci
47e5c31af7Sopenharmony_ci// This is the spec-specific form of the section
48e5c31af7Sopenharmony_ci[[versions-1.3-promotions]]
49e5c31af7Sopenharmony_ciVulkan Version 1.3 <<extendingvulkan-compatibility-promotion,promoted>> a
50e5c31af7Sopenharmony_cinumber of key extensions into the core API:
51e5c31af7Sopenharmony_ci
52e5c31af7Sopenharmony_ciinclude::{generated}/meta/promoted_extensions_VK_VERSION_1_3.adoc[]
53e5c31af7Sopenharmony_ci
54e5c31af7Sopenharmony_ciAll differences in behavior between these extensions and the corresponding
55e5c31af7Sopenharmony_ciVulkan 1.3 functionality are summarized below.
56e5c31af7Sopenharmony_ci
57e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_4444_formats`
58e5c31af7Sopenharmony_ci
59e5c31af7Sopenharmony_ciIf the `apiext:VK_EXT_4444_formats` extension is not supported, support for
60e5c31af7Sopenharmony_ciall formats defined by it are optional in Vulkan 1.3.
61e5c31af7Sopenharmony_ciThere are no members in the slink:VkPhysicalDeviceVulkan13Features structure
62e5c31af7Sopenharmony_cicorresponding to the slink:VkPhysicalDevice4444FormatsFeaturesEXT structure.
63e5c31af7Sopenharmony_ci
64e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_extended_dynamic_state`
65e5c31af7Sopenharmony_ci
66e5c31af7Sopenharmony_ciAll dynamic state enumerants and entry points defined by
67e5c31af7Sopenharmony_ci`apiext:VK_EXT_extended_dynamic_state` are required in Vulkan 1.3.
68e5c31af7Sopenharmony_ciThere are no members in the slink:VkPhysicalDeviceVulkan13Features structure
69e5c31af7Sopenharmony_cicorresponding to the slink:VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
70e5c31af7Sopenharmony_cistructure.
71e5c31af7Sopenharmony_ci
72e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_extended_dynamic_state2`
73e5c31af7Sopenharmony_ci
74e5c31af7Sopenharmony_ciThe optional dynamic state enumerants and entry points defined by
75e5c31af7Sopenharmony_ci`apiext:VK_EXT_extended_dynamic_state2` for patch control points and logic
76e5c31af7Sopenharmony_ciop are not promoted in Vulkan 1.3.
77e5c31af7Sopenharmony_ciThere are no members in the slink:VkPhysicalDeviceVulkan13Features structure
78e5c31af7Sopenharmony_cicorresponding to the slink:VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
79e5c31af7Sopenharmony_cistructure.
80e5c31af7Sopenharmony_ci
81e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_texel_buffer_alignment`
82e5c31af7Sopenharmony_ci
83e5c31af7Sopenharmony_ciThe more specific alignment requirements defined by
84e5c31af7Sopenharmony_cislink:VkPhysicalDeviceTexelBufferAlignmentProperties are required in Vulkan
85e5c31af7Sopenharmony_ci1.3.
86e5c31af7Sopenharmony_ciThere are no members in the slink:VkPhysicalDeviceVulkan13Features structure
87e5c31af7Sopenharmony_cicorresponding to the slink:VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
88e5c31af7Sopenharmony_cistructure.
89e5c31af7Sopenharmony_ciThe pname:texelBufferAlignment feature is enabled if using a Vulkan 1.3
90e5c31af7Sopenharmony_ciinstance.
91e5c31af7Sopenharmony_ci
92e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_texture_compression_astc_hdr`
93e5c31af7Sopenharmony_ci
94e5c31af7Sopenharmony_ciIf the `apiext:VK_EXT_texture_compression_astc_hdr` extension is not
95e5c31af7Sopenharmony_cisupported, support for all formats defined by it are optional in Vulkan 1.3.
96e5c31af7Sopenharmony_ciThe <<features-textureCompressionASTC_HDR,
97e5c31af7Sopenharmony_cipname:textureCompressionASTC_HDR>> member of
98e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan13Features indicates whether a Vulkan 1.3
99e5c31af7Sopenharmony_ciimplementation supports these formats.
100e5c31af7Sopenharmony_ci
101e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_ycbcr_2plane_444_formats`
102e5c31af7Sopenharmony_ci
103e5c31af7Sopenharmony_ciIf the `apiext:VK_EXT_ycbcr_2plane_444_formats` extension is not supported,
104e5c31af7Sopenharmony_cisupport for all formats defined by it are optional in Vulkan 1.3.
105e5c31af7Sopenharmony_ciThere are no members in the slink:VkPhysicalDeviceVulkan13Features structure
106e5c31af7Sopenharmony_cicorresponding to the slink:VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
107e5c31af7Sopenharmony_cistructure.
108e5c31af7Sopenharmony_ci
109e5c31af7Sopenharmony_ci=== Additional Vulkan 1.3 Feature Support
110e5c31af7Sopenharmony_ci
111e5c31af7Sopenharmony_ci[[versions-1.3-new-features]]
112e5c31af7Sopenharmony_ciIn addition to the promoted extensions described above, Vulkan 1.3 added
113e5c31af7Sopenharmony_cirequired support for:
114e5c31af7Sopenharmony_ci
115e5c31af7Sopenharmony_ci  * SPIR-V version 1.6
116e5c31af7Sopenharmony_ci  ** SPIR-V 1.6 deprecates (but does not remove) the code:WorkgroupSize
117e5c31af7Sopenharmony_ci     decoration.
118e5c31af7Sopenharmony_ci  * The <<features-bufferDeviceAddress, pname:bufferDeviceAddress>> feature
119e5c31af7Sopenharmony_ci    which indicates support for accessing memory in shaders as storage
120e5c31af7Sopenharmony_ci    buffers via flink:vkGetBufferDeviceAddress.
121e5c31af7Sopenharmony_ci  * The <<features-vulkanMemoryModel, pname:vulkanMemoryModel>> and
122e5c31af7Sopenharmony_ci    <<features-vulkanMemoryModelDeviceScope,
123e5c31af7Sopenharmony_ci    pname:vulkanMemoryModelDeviceScope>> features, which indicate support
124e5c31af7Sopenharmony_ci    for the corresponding Vulkan Memory Model capabilities.
125e5c31af7Sopenharmony_ci  * The <<limits-maxInlineUniformTotalSize,
126e5c31af7Sopenharmony_ci    pname:maxInlineUniformTotalSize>> limit is added to provide the total
127e5c31af7Sopenharmony_ci    size of all inline uniform block bindings in a pipeline layout.
128e5c31af7Sopenharmony_ci
129e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_VERSION_1_3.adoc[]
130e5c31af7Sopenharmony_ci
131e5c31af7Sopenharmony_ciendif::VK_VERSION_1_3[]
132e5c31af7Sopenharmony_ci
133e5c31af7Sopenharmony_ci
134e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
135e5c31af7Sopenharmony_ci[[versions-1.2]]
136e5c31af7Sopenharmony_ci== Version 1.2
137e5c31af7Sopenharmony_ci
138e5c31af7Sopenharmony_ci// Unfortunately we cannot include titles in an open refpage block, so this
139e5c31af7Sopenharmony_ci// is a refpage-specific alternate form of the section.
140e5c31af7Sopenharmony_ciifdef::isrefpage[]
141e5c31af7Sopenharmony_ci[open,refpage='VK_VERSION_1_2',desc='Vulkan version 1.2',type='feature',anchor='versions-1.2',xrefs='VK_VERSION_1_0 VK_VERSION_1_1 VK_VERSION_1_3']
142e5c31af7Sopenharmony_ci--
143e5c31af7Sopenharmony_ciVulkan Version 1.2 <<extendingvulkan-compatibility-promotion,promoted>> a
144e5c31af7Sopenharmony_cinumber of key extensions into the core API:
145e5c31af7Sopenharmony_ci
146e5c31af7Sopenharmony_ci// Must be redefined in the refpage content
147e5c31af7Sopenharmony_ciifndef::VKSC_VERSION_1_0[:promoted: {generated}/meta]
148e5c31af7Sopenharmony_ciifdef::VKSC_VERSION_1_0[:promoted: {appendices}/sc_static]
149e5c31af7Sopenharmony_ci
150e5c31af7Sopenharmony_ciinclude::{promoted}/promoted_extensions_VK_VERSION_1_2.adoc[]
151e5c31af7Sopenharmony_ci
152e5c31af7Sopenharmony_ciAll differences in behavior between these extensions and the corresponding
153e5c31af7Sopenharmony_ciVulkan 1.2 functionality are summarized in the <<versions-1.2-promotions,
154e5c31af7Sopenharmony_ciVulkan 1.2 specification appendix>>.
155e5c31af7Sopenharmony_ci
156e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_VERSION_1_2.adoc[]
157e5c31af7Sopenharmony_ci--
158e5c31af7Sopenharmony_ciendif::isrefpage[]
159e5c31af7Sopenharmony_ci
160e5c31af7Sopenharmony_ci// This is the spec-specific form of the section
161e5c31af7Sopenharmony_ci[[versions-1.2-promotions]]
162e5c31af7Sopenharmony_ciVulkan Version 1.2 <<extendingvulkan-compatibility-promotion,promoted>> a
163e5c31af7Sopenharmony_cinumber of key extensions into the core API:
164e5c31af7Sopenharmony_ci
165e5c31af7Sopenharmony_ciinclude::{promoted}/promoted_extensions_VK_VERSION_1_2.adoc[]
166e5c31af7Sopenharmony_ci
167e5c31af7Sopenharmony_ciAll differences in behavior between these extensions and the corresponding
168e5c31af7Sopenharmony_ciVulkan 1.2 functionality are summarized below.
169e5c31af7Sopenharmony_ci
170e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_8bit_storage`
171e5c31af7Sopenharmony_ci
172e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_8bit_storage` extension is not supported, support for
173e5c31af7Sopenharmony_cithe SPIR-V <<features-storageBuffer8BitAccess,
174e5c31af7Sopenharmony_cipname:storageBuffer8BitAccess>> capability in shader modules is optional.
175e5c31af7Sopenharmony_ciSupport for this feature is defined by
176e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:storageBuffer8BitAccess when
177e5c31af7Sopenharmony_ciqueried via flink:vkGetPhysicalDeviceFeatures2.
178e5c31af7Sopenharmony_ci
179e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_draw_indirect_count`
180e5c31af7Sopenharmony_ci
181e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_draw_indirect_count` extension is not supported,
182e5c31af7Sopenharmony_cisupport for the entry points flink:vkCmdDrawIndirectCount and
183e5c31af7Sopenharmony_ciflink:vkCmdDrawIndexedIndirectCount is optional.
184e5c31af7Sopenharmony_ciSupport for this feature is defined by
185e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:drawIndirectCount when queried
186e5c31af7Sopenharmony_civia flink:vkGetPhysicalDeviceFeatures2.
187e5c31af7Sopenharmony_ci
188e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_sampler_mirror_clamp_to_edge`
189e5c31af7Sopenharmony_ci
190e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_sampler_mirror_clamp_to_edge` extension is not
191e5c31af7Sopenharmony_cisupported, support for the elink:VkSamplerAddressMode
192e5c31af7Sopenharmony_ciename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE is optional.
193e5c31af7Sopenharmony_ciSupport for this feature is defined by
194e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:samplerMirrorClampToEdge when
195e5c31af7Sopenharmony_ciqueried via flink:vkGetPhysicalDeviceFeatures2.
196e5c31af7Sopenharmony_ci
197e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_descriptor_indexing`
198e5c31af7Sopenharmony_ci
199e5c31af7Sopenharmony_ciIf the `apiext:VK_EXT_descriptor_indexing` extension is not supported,
200e5c31af7Sopenharmony_cisupport for the <<features-descriptorIndexing, pname:descriptorIndexing>>
201e5c31af7Sopenharmony_cifeature is optional.
202e5c31af7Sopenharmony_ciSupport for this feature is defined by
203e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:descriptorIndexing when
204e5c31af7Sopenharmony_ciqueried via flink:vkGetPhysicalDeviceFeatures2.
205e5c31af7Sopenharmony_ci
206e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_scalar_block_layout`
207e5c31af7Sopenharmony_ci
208e5c31af7Sopenharmony_ciIf the `apiext:VK_EXT_scalar_block_layout` extension is not supported,
209e5c31af7Sopenharmony_cisupport for the <<features-scalarBlockLayout, pname:scalarBlockLayout>>
210e5c31af7Sopenharmony_cifeature is optional.
211e5c31af7Sopenharmony_ciSupport for this feature is defined by
212e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:scalarBlockLayout when queried
213e5c31af7Sopenharmony_civia flink:vkGetPhysicalDeviceFeatures2.
214e5c31af7Sopenharmony_ci
215e5c31af7Sopenharmony_ci=== Differences Relative to `VK_EXT_shader_viewport_index_layer`
216e5c31af7Sopenharmony_ci
217e5c31af7Sopenharmony_ciThe code:ShaderViewportIndexLayerEXT SPIR-V capability was replaced with the
218e5c31af7Sopenharmony_cicode:ShaderViewportIndex and code:ShaderLayer capabilities.
219e5c31af7Sopenharmony_ciDeclaring both is equivalent to declaring code:ShaderViewportIndexLayerEXT.
220e5c31af7Sopenharmony_ciIf the `apiext:VK_EXT_shader_viewport_index_layer` extension is not
221e5c31af7Sopenharmony_cisupported, support for the code:ShaderViewportIndexLayerEXT SPIR-V
222e5c31af7Sopenharmony_cicapability is optional.
223e5c31af7Sopenharmony_ciSupport for this feature is defined by
224e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:shaderOutputViewportIndex and
225e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:shaderOutputLayer when queried
226e5c31af7Sopenharmony_civia flink:vkGetPhysicalDeviceFeatures2.
227e5c31af7Sopenharmony_ci
228e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_buffer_device_address`
229e5c31af7Sopenharmony_ci
230e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_buffer_device_address` extension is not supported,
231e5c31af7Sopenharmony_cisupport for the <<features-bufferDeviceAddress, pname:bufferDeviceAddress>>
232e5c31af7Sopenharmony_cifeature is optional.
233e5c31af7Sopenharmony_ciSupport for this feature is defined by
234e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:bufferDeviceAddress when
235e5c31af7Sopenharmony_ciqueried via flink:vkGetPhysicalDeviceFeatures2.
236e5c31af7Sopenharmony_ci
237e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_shader_atomic_int64`
238e5c31af7Sopenharmony_ci
239e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_shader_atomic_int64` extension is not supported,
240e5c31af7Sopenharmony_cisupport for the <<features-shaderBufferInt64Atomics,
241e5c31af7Sopenharmony_cipname:shaderBufferInt64Atomics>> feature is optional.
242e5c31af7Sopenharmony_ciSupport for this feature is defined by
243e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:shaderBufferInt64Atomics when
244e5c31af7Sopenharmony_ciqueried via flink:vkGetPhysicalDeviceFeatures2.
245e5c31af7Sopenharmony_ci
246e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_shader_float16_int8`
247e5c31af7Sopenharmony_ci
248e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_shader_float16_int8` extension is not supported,
249e5c31af7Sopenharmony_cisupport for the <<features-shaderFloat16, pname:shaderFloat16>> and
250e5c31af7Sopenharmony_ci<<features-shaderInt8, pname:shaderInt8>> features is optional.
251e5c31af7Sopenharmony_ciSupport for these features are defined by
252e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:shaderFloat16 and
253e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:shaderInt8 when queried via
254e5c31af7Sopenharmony_ciflink:vkGetPhysicalDeviceFeatures2.
255e5c31af7Sopenharmony_ci
256e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_vulkan_memory_model`
257e5c31af7Sopenharmony_ci
258e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_vulkan_memory_model` extension is not supported,
259e5c31af7Sopenharmony_cisupport for the <<features-vulkanMemoryModel, pname:vulkanMemoryModel>>
260e5c31af7Sopenharmony_cifeature is optional.
261e5c31af7Sopenharmony_ciSupport for this feature is defined by
262e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan12Features::pname:vulkanMemoryModel when queried
263e5c31af7Sopenharmony_civia flink:vkGetPhysicalDeviceFeatures2.
264e5c31af7Sopenharmony_ci
265e5c31af7Sopenharmony_ci=== Additional Vulkan 1.2 Feature Support
266e5c31af7Sopenharmony_ci
267e5c31af7Sopenharmony_ci[[versions-1.2-new-features]]
268e5c31af7Sopenharmony_ciIn addition to the promoted extensions described above, Vulkan 1.2 added
269e5c31af7Sopenharmony_cisupport for:
270e5c31af7Sopenharmony_ci
271e5c31af7Sopenharmony_ci  * SPIR-V version 1.4.
272e5c31af7Sopenharmony_ci  * SPIR-V version 1.5.
273e5c31af7Sopenharmony_ci  * The <<features-samplerMirrorClampToEdge,
274e5c31af7Sopenharmony_ci    pname:samplerMirrorClampToEdge>> feature which indicates whether the
275e5c31af7Sopenharmony_ci    implementation supports the
276e5c31af7Sopenharmony_ci    ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE sampler address mode.
277e5c31af7Sopenharmony_ci  * The <<spirvenv-capabilities-table-ShaderNonUniform,
278e5c31af7Sopenharmony_ci    code:ShaderNonUniform>> capability in SPIR-V version 1.5.
279e5c31af7Sopenharmony_ci  * The <<features-shaderOutputViewportIndex,
280e5c31af7Sopenharmony_ci    pname:shaderOutputViewportIndex>> feature which indicates that the
281e5c31af7Sopenharmony_ci    <<spirvenv-capabilities-table-ShaderViewportIndex,
282e5c31af7Sopenharmony_ci    code:ShaderViewportIndex>> capability can be used.
283e5c31af7Sopenharmony_ci  * The <<features-shaderOutputLayer, pname:shaderOutputLayer>> feature
284e5c31af7Sopenharmony_ci    which indicates that the <<spirvenv-capabilities-table-ShaderLayer,
285e5c31af7Sopenharmony_ci    code:ShaderLayer>> capability can be used.
286e5c31af7Sopenharmony_ci  * The <<features-subgroupBroadcastDynamicId,
287e5c31af7Sopenharmony_ci    pname:subgroupBroadcastDynamicId>> feature which allows the "`Id`"
288e5c31af7Sopenharmony_ci    operand of code:OpGroupNonUniformBroadcast to be dynamically uniform
289e5c31af7Sopenharmony_ci    within a subgroup, and the "`Index`" operand of
290e5c31af7Sopenharmony_ci    code:OpGroupNonUniformQuadBroadcast to be dynamically uniform within a
291e5c31af7Sopenharmony_ci    derivative group, in shader modules of version 1.5 or higher.
292e5c31af7Sopenharmony_ci  * The <<features-drawIndirectCount, pname:drawIndirectCount>> feature
293e5c31af7Sopenharmony_ci    which indicates whether the flink:vkCmdDrawIndirectCount and
294e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndexedIndirectCount functions can be used.
295e5c31af7Sopenharmony_ci  * The <<features-descriptorIndexing, pname:descriptorIndexing>> feature
296e5c31af7Sopenharmony_ci    which indicates the implementation supports the minimum number of
297e5c31af7Sopenharmony_ci    descriptor indexing features as defined in the <<features-requirements,
298e5c31af7Sopenharmony_ci    Feature Requirements>> section.
299e5c31af7Sopenharmony_ci  * The <<features-samplerFilterMinmax, pname:samplerFilterMinmax>> feature
300e5c31af7Sopenharmony_ci    which indicates whether the implementation supports the minimum number
301e5c31af7Sopenharmony_ci    of image formats that support the
302e5c31af7Sopenharmony_ci    ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT feature bit as
303e5c31af7Sopenharmony_ci    defined by the
304e5c31af7Sopenharmony_ci    <<limits-filterMinmaxSingleComponentFormats-minimum-requirements,
305e5c31af7Sopenharmony_ci    pname:filterMinmaxSingleComponentFormats>> property minimum
306e5c31af7Sopenharmony_ci    requirements.
307e5c31af7Sopenharmony_ci  * The <<limits-framebufferIntegerColorSampleCounts,
308e5c31af7Sopenharmony_ci    pname:framebufferIntegerColorSampleCounts>> limit which indicates the
309e5c31af7Sopenharmony_ci    color sample counts that are supported for all framebuffer color
310e5c31af7Sopenharmony_ci    attachments with integer formats.
311e5c31af7Sopenharmony_ci
312e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_VERSION_1_2.adoc[]
313e5c31af7Sopenharmony_ci
314e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
315e5c31af7Sopenharmony_ci
316e5c31af7Sopenharmony_ci
317e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1[]
318e5c31af7Sopenharmony_ci[[versions-1.1]]
319e5c31af7Sopenharmony_ci== Version 1.1
320e5c31af7Sopenharmony_ci
321e5c31af7Sopenharmony_ci// Unfortunately we cannot include titles in an open refpage block, so this
322e5c31af7Sopenharmony_ci// is a refpage-specific alternate form of the section.
323e5c31af7Sopenharmony_ciifdef::isrefpage[]
324e5c31af7Sopenharmony_ci[open,refpage='VK_VERSION_1_1',desc='Vulkan version 1.1',type='feature',anchor='versions-1.1',xrefs='VK_VERSION_1_0 VK_VERSION_1_2 VK_VERSION_1_3']
325e5c31af7Sopenharmony_ci--
326e5c31af7Sopenharmony_ciVulkan Version 1.1 <<extendingvulkan-compatibility-promotion,promoted>> a
327e5c31af7Sopenharmony_cinumber of key extensions into the core API:
328e5c31af7Sopenharmony_ci
329e5c31af7Sopenharmony_ci// Must be redefined in the refpage content
330e5c31af7Sopenharmony_ciifndef::VKSC_VERSION_1_0[:promoted: {generated}/meta]
331e5c31af7Sopenharmony_ciifdef::VKSC_VERSION_1_0[:promoted: {appendices}/sc_static]
332e5c31af7Sopenharmony_ci
333e5c31af7Sopenharmony_ciinclude::{promoted}/promoted_extensions_VK_VERSION_1_1.adoc[]
334e5c31af7Sopenharmony_ci
335e5c31af7Sopenharmony_ciAll differences in behavior between these extensions and the corresponding
336e5c31af7Sopenharmony_ciVulkan 1.1 functionality are summarized in the <<versions-1.1-promotions,
337e5c31af7Sopenharmony_ciVulkan 1.1 specification appendix>>.
338e5c31af7Sopenharmony_ci
339e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_VERSION_1_1.adoc[]
340e5c31af7Sopenharmony_ci--
341e5c31af7Sopenharmony_ciendif::isrefpage[]
342e5c31af7Sopenharmony_ci
343e5c31af7Sopenharmony_ci// This is the spec-specific form of the section
344e5c31af7Sopenharmony_ci[[versions-1.1-promotions]]
345e5c31af7Sopenharmony_ciVulkan Version 1.1 <<extendingvulkan-compatibility-promotion,promoted>> a
346e5c31af7Sopenharmony_cinumber of key extensions into the core API:
347e5c31af7Sopenharmony_ci
348e5c31af7Sopenharmony_ciinclude::{promoted}/promoted_extensions_VK_VERSION_1_1.adoc[]
349e5c31af7Sopenharmony_ci
350e5c31af7Sopenharmony_ciAll differences in behavior between these extensions and the corresponding
351e5c31af7Sopenharmony_ciVulkan 1.1 functionality are summarized below.
352e5c31af7Sopenharmony_ci
353e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_16bit_storage`
354e5c31af7Sopenharmony_ci
355e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_16bit_storage` extension is not supported, support for
356e5c31af7Sopenharmony_cithe <<features-storageBuffer16BitAccess, pname:storageBuffer16BitAccess>>
357e5c31af7Sopenharmony_cifeature is optional.
358e5c31af7Sopenharmony_ciSupport for this feature is defined by
359e5c31af7Sopenharmony_cislink:VkPhysicalDevice16BitStorageFeatures::pname:storageBuffer16BitAccess
360e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
361e5c31af7Sopenharmony_cior slink:VkPhysicalDeviceVulkan11Features::pname:storageBuffer16BitAccess
362e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
363e5c31af7Sopenharmony_ciwhen queried via flink:vkGetPhysicalDeviceFeatures2.
364e5c31af7Sopenharmony_ci
365e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_sampler_ycbcr_conversion`
366e5c31af7Sopenharmony_ci
367e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_sampler_ycbcr_conversion` extension is not supported,
368e5c31af7Sopenharmony_cisupport for the <<features-samplerYcbcrConversion,
369e5c31af7Sopenharmony_cipname:samplerYcbcrConversion>> feature is optional.
370e5c31af7Sopenharmony_ciSupport for this feature is defined by
371e5c31af7Sopenharmony_cislink:VkPhysicalDeviceSamplerYcbcrConversionFeatures::pname:samplerYcbcrConversion
372e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
373e5c31af7Sopenharmony_cior slink:VkPhysicalDeviceVulkan11Features::pname:samplerYcbcrConversion
374e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
375e5c31af7Sopenharmony_ciwhen queried via flink:vkGetPhysicalDeviceFeatures2.
376e5c31af7Sopenharmony_ci
377e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_shader_draw_parameters`
378e5c31af7Sopenharmony_ci
379e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_shader_draw_parameters` extension is not supported,
380e5c31af7Sopenharmony_cisupport for the
381e5c31af7Sopenharmony_ci{spirv}/KHR/SPV_KHR_shader_draw_parameters.html[`SPV_KHR_shader_draw_parameters`]
382e5c31af7Sopenharmony_ciSPIR-V extension is optional.
383e5c31af7Sopenharmony_ciSupport for this feature is defined by
384e5c31af7Sopenharmony_cislink:VkPhysicalDeviceShaderDrawParametersFeatures::pname:shaderDrawParameters
385e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
386e5c31af7Sopenharmony_cior slink:VkPhysicalDeviceVulkan11Features::pname:shaderDrawParameters
387e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
388e5c31af7Sopenharmony_ciwhen queried via flink:vkGetPhysicalDeviceFeatures2.
389e5c31af7Sopenharmony_ci
390e5c31af7Sopenharmony_ci=== Differences Relative to `VK_KHR_variable_pointers`
391e5c31af7Sopenharmony_ci
392e5c31af7Sopenharmony_ciIf the `apiext:VK_KHR_variable_pointers` extension is not supported, support
393e5c31af7Sopenharmony_cifor the <<features-variablePointersStorageBuffer,
394e5c31af7Sopenharmony_cipname:variablePointersStorageBuffer>> feature is optional.
395e5c31af7Sopenharmony_ciSupport for this feature is defined by
396e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVariablePointersFeatures::pname:variablePointersStorageBuffer
397e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
398e5c31af7Sopenharmony_cior
399e5c31af7Sopenharmony_cislink:VkPhysicalDeviceVulkan11Features::pname:variablePointersStorageBuffer
400e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
401e5c31af7Sopenharmony_ciwhen queried via flink:vkGetPhysicalDeviceFeatures2.
402e5c31af7Sopenharmony_ci
403e5c31af7Sopenharmony_ci=== Additional Vulkan 1.1 Feature Support
404e5c31af7Sopenharmony_ci
405e5c31af7Sopenharmony_ci[[versions-1.1-new-features]]
406e5c31af7Sopenharmony_ciIn addition to the promoted extensions described above, Vulkan 1.1 added
407e5c31af7Sopenharmony_cisupport for:
408e5c31af7Sopenharmony_ci
409e5c31af7Sopenharmony_ci  * The <<shaders-group-operations, group operations>> and
410e5c31af7Sopenharmony_ci    <<shaders-scope-subgroup, subgroup scope>>.
411e5c31af7Sopenharmony_ci  * The <<memory-protected-memory, protected memory>> feature.
412e5c31af7Sopenharmony_ci  * A new command to enumerate the instance version:
413e5c31af7Sopenharmony_ci    flink:vkEnumerateInstanceVersion.
414e5c31af7Sopenharmony_ci  * The slink:VkPhysicalDeviceShaderDrawParametersFeatures feature query
415e5c31af7Sopenharmony_ci    struct (where the `apiext:VK_KHR_shader_draw_parameters` extension did
416e5c31af7Sopenharmony_ci    not have one).
417e5c31af7Sopenharmony_ci
418e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_VERSION_1_1.adoc[]
419e5c31af7Sopenharmony_ci
420e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1[]
421e5c31af7Sopenharmony_ci
422e5c31af7Sopenharmony_ci
423e5c31af7Sopenharmony_ci[[versions-1.0]]
424e5c31af7Sopenharmony_ci== Version 1.0
425e5c31af7Sopenharmony_ci
426e5c31af7Sopenharmony_ci// Unfortunately we cannot include titles in an open refpage block, so this
427e5c31af7Sopenharmony_ci// is a refpage-specific alternate form of the section.
428e5c31af7Sopenharmony_ciifdef::isrefpage[]
429e5c31af7Sopenharmony_ci[open,refpage='VK_VERSION_1_0',desc='Vulkan version 1.0',type='feature',anchor='versions-1.0',xrefs='VK_VERSION_1_1 VK_VERSION_1_2 VK_VERSION_1_3']
430e5c31af7Sopenharmony_ci--
431e5c31af7Sopenharmony_ciVulkan Version 1.0 was the initial release of the Vulkan API.
432e5c31af7Sopenharmony_ci
433e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_VERSION_1_0.adoc[]
434e5c31af7Sopenharmony_ci--
435e5c31af7Sopenharmony_ciendif::isrefpage[]
436e5c31af7Sopenharmony_ci
437e5c31af7Sopenharmony_ci// This is the spec-specific form of the section
438e5c31af7Sopenharmony_ciVulkan Version 1.0 was the initial release of the Vulkan API.
439e5c31af7Sopenharmony_ci
440e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_VERSION_1_0.adoc[]
441