Skip to content

Commit bcf7ada

Browse files
committed
Merge branch 'github-main' into VK_EXT_present_timing
2 parents 7dcb614 + 0a5f33b commit bcf7ada

File tree

315 files changed

+25172
-17903
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

315 files changed

+25172
-17903
lines changed

.gitlab-ci.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,33 @@ vksc-generate:
120120
expire_in: 1 week
121121
allow_failure: true
122122

123+
# Generate the vulkan base specification and generate any associated files (such as vulkan_base.h)
124+
vulkanbase-generate:
125+
stage: build
126+
script:
127+
- NODE_PATH="/usr/lib/node_modules"
128+
- export NODE_PATH
129+
- VULKAN_API="vulkanbase"
130+
- export VULKAN_API
131+
# Build the actual spec (both chunked and single-page HTML), and other common targets
132+
- ./makeSpec -clean -spec all -version vkb1.4 -genpath genvkb QUIET= -j${nproc} -Otarget manhtmlpages validusage styleguide registry chunked html
133+
- ./makeSpec -clean -spec all -version vkc1.4 -genpath genvkc QUIET= -j${nproc} -Otarget manhtmlpages validusage styleguide registry chunked html
134+
- ./makeSpec -clean -spec all -version vkg1.4 -genpath genvkg QUIET= -j${nproc} -Otarget manhtmlpages validusage styleguide registry chunked html
135+
# Check consistency of internal xrefs and anchors in the output, now
136+
# that an HTML output is available
137+
#- make check-xrefs
138+
# Build headers, for use by all later stages
139+
- ( cd xml && make GENERATED=../genvkb install test GENOPTS="-feature VK_BASE_VERSION_1_0 -feature VK_BASE_VERSION_1_1 -feature VK_BASE_VERSION_1_2 -feature VK_BASE_VERSION_1_3 -feature VK_BASE_VERSION_1_4 -emitExtensions '^$$'" )
140+
- ( cd xml && make GENERATED=../genvkc install test GENOPTS="-feature VK_BASE_VERSION_1_0 -feature VK_COMPUTE_VERSION_1_0 -feature VK_BASE_VERSION_1_1 -feature VK_COMPUTE_VERSION_1_1 -feature VK_BASE_VERSION_1_2 -feature VK_COMPUTE_VERSION_1_2 -feature VK_BASE_VERSION_1_3 -feature VK_COMPUTE_VERSION_1_3 -feature VK_BASE_VERSION_1_4 -feature VK_COMPUTE_VERSION_1_4 -emitExtensions '^$$'" )
141+
- ( cd xml && make GENERATED=../genvkg install test GENOPTS="-feature VK_BASE_VERSION_1_0 -feature VK_COMPUTE_VERSION_1_0 -feature VK_GRAPHICS_VERSION_1_0 -feature VK_BASE_VERSION_1_1 -feature VK_COMPUTE_VERSION_1_1 -feature VK_GRAPHICS_VERSION_1_1 -feature VK_BASE_VERSION_1_2 -feature VK_COMPUTE_VERSION_1_2 -feature VK_GRAPHICS_VERSION_1_2 -feature VK_BASE_VERSION_1_3 -feature VK_COMPUTE_VERSION_1_3 -feature VK_GRAPHICS_VERSION_1_3 -feature VK_BASE_VERSION_1_4 -feature VK_COMPUTE_VERSION_1_4 -feature VK_GRAPHICS_VERSION_1_4 -emitExtensions '^$$'" )
142+
artifacts:
143+
when: always
144+
paths:
145+
- genvkb/
146+
- genvkc/
147+
- genvkg/
148+
expire_in: 1 weeks
149+
allow_failure: true
123150

124151
# Generate the vulkan C++ header (vulkan.hpp)
125152
hpp-generate:

.mailmap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
# Copyright 2023-2025 The Khronos Group Inc.
22
# SPDX-License-Identifier: CC-BY-4.0
33

4+
45
56
67
8+
79
810
911
12+

BUILD.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ It accepts these options:
206206
*type* may be
207207
** *core* - no extensions added (default if not specified)
208208
** *khr* - all KHR extensions added
209-
** *ratified* - all ratified extensions (KHR and some EXT) added
209+
** *ratified* - all ratified extensions (KHR and most EXT) added
210210
** *all* - all registered extensions added
211211
* -extension *extname* - build with specified extension included,
212212
as well as the set specified by `-spec`.

ChangeLog.adoc

Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,268 @@ appears frequently in the change log.
1414

1515
'''
1616

17+
Change log for November 21, 2025 Vulkan 1.4.334 spec update:
18+
19+
Github Issues
20+
21+
* Cleanup VkComputePipelineCreateInfo layout reuse restriction language
22+
(public issue 2612).
23+
* De-alias VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV from
24+
VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT and restore the
25+
original enum value for
26+
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
27+
after realizing the aliasing was done incorrectly and that the
28+
underlying SPIR-V extensions were not identical (public issue 2620).
29+
30+
Internal Issues
31+
32+
* Clarify that VkSparseImageFormatProperties::imageGranularity is always
33+
in terms of texels (internal issue 4430).
34+
* Merge remaining vendor and EXT extension markup in separate files into
35+
the chapters they are included from (internal issue 4516).
36+
* Add VkDescriptorSetLayoutBinding VU to disallow mix and matching of
37+
immutable YCbCr samplers (internal issue 4521).
38+
* Clarify YCbCr shader restrictions in runtime SPIR-V VUs and the
39+
<<textures-operation-validation, Instruction/Sampler/Image View
40+
Validation>> section (internal issues 4532, 4544).
41+
* Use "`for each element`" instead of "`for any element`" in all relevant
42+
VUs (internal issue 4534).
43+
* Add a NOTE that images created with vkImportMetalTextureInfoEXT require
44+
no memory binding operations (internal MR 6738).
45+
* Add a NOTE at the end of the <<features-requirements, Feature
46+
Requirements>> section that the formatRgba10x6WithoutYCbCrSampler
47+
feature may not be supported on older implementations (internal MR
48+
7445).
49+
* Add a common image copy VU banning depth/stencil copies when the source
50+
and destination aspects do not match (internal MR 7770).
51+
* Clarify that VkSamplerCreateInfo::addressModeW is ignored with
52+
unnormalizedCoordinates (internal MR 7796)
53+
* Add missing VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT to
54+
VkIndirectCommandsLayoutCreateInfoEXT VU 11104 (internal MR 7805).
55+
* Add missing vkCmdExecuteGeneratedCommandsEXT VU constraining compute
56+
commands inside a render pass instance (internal MR 7807).
57+
* Remove un-needed conditional markup from standalone SPIR-V VUs (internal
58+
MR 7836).
59+
* Fix descriptorCount restriction in common pipeline create info VU 07991
60+
(internal MR 7842).
61+
* Use globally consistent phrasing when describing a requirement for USAGE
62+
flags to be set (internal MR 7842).
63+
64+
'''
65+
66+
Change log for November 14, 2025 Vulkan 1.4.333 spec update:
67+
68+
Github Issues
69+
70+
* Fix `const` pNext in returnedonly="true" structs (public PR 2601).
71+
* Update description of queue objects to omit "`execution engines`"
72+
(public issue 2604).
73+
74+
Internal Issues
75+
76+
* Add CI checks in xml_consistency.py for cases where pNext members must
77+
not be `const` (internal issue 2734).
78+
* Use "`for each element`" instead of "`for any element`" in VUs for ray
79+
tracing extensions, and document this pattern in the style guide
80+
(internal issue 4534).
81+
* Add acceleration structures to vkUpdateDescriptorSetWithTemplate VU
82+
01685 (internal issue 4536).
83+
* Add common query results VUs restricting
84+
VK_QUERY_RESULT_WITH_STATUS_BIT_KHR based on the query type (internal
85+
issue 4484).
86+
* Fix `const` pNext in VkPhysicalDeviceDataGraphModelFeaturesQCOM
87+
(internal MR 7804).
88+
* Merge INTEL, NN, NV, QCOM, and QNX extension markup in separate files
89+
into the chapters they are included from (internal issue 4516).
90+
* Update pipeline library dependency explanation in the
91+
VK_KHR_ray_tracing_pipeline extension appendix (internal MR 7828).
92+
93+
New Extensions
94+
95+
* VK_EXT_custom_resolve
96+
* VK_EXT_ray_tracing_invocation_reorder
97+
98+
'''
99+
100+
Change log for November 7, 2025 Vulkan 1.4.332 spec update:
101+
102+
Github Issues
103+
104+
* Generate refpage aliases in Antora site build and remove now-redundant
105+
'alias' attributes from refpage markup (public PRs 2610, 2611).
106+
* Remove 'returnedonly' XML attribute from
107+
VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE (public PR 2607).
108+
109+
Internal Issues
110+
111+
* Require contiguous memory per plane for multiplanar images, instead of
112+
for the entire image, in common image copy and image layout transition
113+
VUs (internal issue 3344).
114+
* Attempt to clarify <<interfaces-raypipeline, ray payload matching
115+
requirements>> (internal issue 4373).
116+
* Clarify fragment density map texel size calculation with dynamic
117+
rendering in the <<fragmentdensitymap-fetch-density-value, Fetch Density
118+
Value>> section (internal issue 4480).
119+
* Improve host synchronization NOTE for VkBufferMemoryBarrier (internal
120+
issue 4504).
121+
* Add VkQueryPoolCreateInfo VU to require queue family support for
122+
status-only query pool creation (internal issue 4511).
123+
* Make chapter markup filenames consistent with the extension names they
124+
document (internal issue 4516).
125+
* Merge AMD extension markup in separate files into the chapters it is
126+
included from (internal issue 4516).
127+
* Add missing VUs that VkDeviceOrHostAddressKHR cannot be null in
128+
ray-tracing extensions (internal MR 7613).
129+
* Add conditional markup to glossary for compute- and graphics-specific
130+
terms (internal MR 7752).
131+
* Add missing common push descriptor template VU (internal MR 7772).
132+
* Replace use of refpage attribute in SPIR-V VUIDs with `Standalone` or
133+
`Runtime` as appropriate (internal MR 7773).
134+
* Add missing VK_KHR_get_physical_device_properties2 dependencies to XML
135+
(internal MR 7777).
136+
* Add autogenerated "Equivalent to" for promoted APIs (internal MR 7779)
137+
and add CI test for old usage (internal MR 7798).
138+
* Take VkShaderModuleCreateInfo into account for pipeline binary matching
139+
in VkPipelineBinaryInfoKHR (internal MR 7785).
140+
* Replace "`indifferent of`" with "`regardless of`" and add CI test
141+
(internal MR 7799).
142+
143+
New Extensions
144+
145+
* VK_QCOM_data_graph_model
146+
147+
'''
148+
149+
Change log for October 31, 2025 Vulkan 1.4.331 spec update:
150+
151+
Internal Issues
152+
153+
* Clarify treatment of zero shader binding table addresses in common ray
154+
tracing VUs (internal issue 4460).
155+
* Add vkGetDescriptorSetLayoutSizeEXT VU for descriptor set layout with
156+
the PUSH_DESCRIPTOR bit set (internal issue 4473).
157+
* Add introductory paragraph to the <<dense-geometry-format, Dense
158+
Geometry Format Version 1>> section (internal issue 4519).
159+
* Add a runtime SPIR-V VU to ensure that any pointer a BDA uses is inside
160+
a valid VkBuffer (internal MR 7754).
161+
* Refactor <<queries, Queries>> chapter for parts which are optional in
162+
Vulkan Base compute / graphics profiles (internal MR 7756).
163+
* Add missing VkPhysicalDeviceMemoryDecompressionPropertiesEXT VU that
164+
decompressionMethods is valid (internal MR 7760).
165+
* Remove `const` from VkPhysicalDevicePresentationPropertiesOHOS::pNext
166+
(internal MR 7762).
167+
* Clarify <<textures-blockmatch, Block Matching>> blockSize behavior with
168+
`VK_QCOM_image_processing` (internal MR 7764).
169+
170+
New Extensions
171+
172+
* VK_ARM_performance_counters_by_region
173+
* VK_OHOS_external_memory
174+
175+
'''
176+
177+
Change log for October 24, 2025 Vulkan 1.4.330 spec update:
178+
179+
Github Issues
180+
181+
* Fix mip level sizing (public issue 2588).
182+
183+
Internal Issues
184+
185+
* Allow multiple VkAccelerationStructure objects to refer to the same
186+
range of memory (internal issue 4105).
187+
* Add a NOTE to vkCmdBuildAccelerationStructuresKHR about buffer vs device
188+
address alignment (internal issue 4368).
189+
* Remove redundant VkFramebufferCreateInfo VU 10917 (internal issue 4448).
190+
* Remove the "`depth write is enabled`" clause from common draw validity
191+
VU 08964 when performing depth tests against UNDEFINED depth attachment
192+
formats (internal issue 4455).
193+
* Redirect refpages in registry.khronos.org/vulkan to docs.vulkan.org, now
194+
that the refpages are a component of the docs site (internal issue
195+
4456).
196+
* Use "`bound to memory`" instead of "`fully resident`" to describe source
197+
memory regions in VUs for VkCopyMemoryIndirectInfoKHR and
198+
VkCopyMemoryToImageIndirectInfoKHR (internal issue 4458).
199+
* Remove legacy and unimplemented _COINCIDE_ limitation from
200+
vkGetPhysicalDeviceVideoFormatPropertiesKHR (internal issue 4461).
201+
* Fix and improve buffer usage VUs for vkCmdBindDescriptorBuffersEXT and
202+
VkDescriptorBufferBindingInfoEXT (internal issue 4469).
203+
* Suppress warnings about unresolved anchors from the Antora markup
204+
conversion scripts (internal issue 4481).
205+
* Fix VkRenderingInfo VUs to use "`each element`" instead of "`any
206+
element`" (internal issue 4474).
207+
* Add initial Vulkan Base support (internal MR 6239).
208+
* Use "`legacy`" and "`superseded`" in spec language for functionality
209+
which is no longer recommended, instead of "`deprecated`" (internal MR
210+
7693).
211+
* Fix XML attributes for VkWriteDescriptorSetTensorARM and
212+
VkDescriptorGetTensorInfoARM so implicit VU statements allow NULL
213+
descriptors (internal MR 7720).
214+
* Add common set descriptor buffer offsets VUs disallowing calling
215+
vkCmdSetDescriptorBufferOffsets on a Push Descriptor set (internal MR
216+
7721).
217+
* Track selector and selection for unions in vulkanobject (internal MR
218+
7723).
219+
* Add missing VkVideoSessionCreateInfoKHR and vkCmdBeginVideoCodingKHR VUs
220+
restricting a video session's queue family index (internal MR 7730).
221+
* Add a new implicit VU for suspended render passes (internal MR 7737).
222+
* Refactor description of the layout of <<queries-operation-memorylayout,
223+
query results>> in memory (internal MR 7738).
224+
* Refactor Images and Image Operations chapters to (mostly) not be
225+
included when building Vulkan Base, as they are mostly compute
226+
operations (internal MR 7748).
227+
228+
New Extensions
229+
230+
* VK_KHR_maintenance10
231+
* VK_EXT_memory_decompression (public issue 2341)
232+
* VK_EXT_shader_64bit_indexing
233+
* VK_EXT_shader_uniform_buffer_unsized_array
234+
* VK_OHOS_native_buffer
235+
236+
'''
237+
238+
Change log for October 10, 2025 Vulkan 1.4.329 spec update:
239+
240+
Github Issues
241+
242+
* Fix formatting in indirect_memory_copy_common.adoc (public PR 2593).
243+
* Fix malformed curved double quotes in writing.adoc (public PR 2592).
244+
* Fix some spelling errors (public PR 2591).
245+
* Clean up `VK_QCOM_tile_shading.adoc` proposal (public PR 2590).
246+
* Add runtime SPIR-V validation VU for 8-bit input/output (public issue
247+
2595).
248+
249+
Internal Issues
250+
251+
* Unify GPL and Shader Object fragment state requirements (internal issue
252+
4449).
253+
* Unify fragmentShadingRate for GPL and Shader Object (internal issue
254+
4452).
255+
* Fix enumerant markup in some generated VUs (internal issue 4459).
256+
* Use correct vendorTag for extensions in vulkan object (internal issue
257+
4465).
258+
* Add CI check for new dispatchable handle types, to make sure the working
259+
group has time to examine impact on downstream tooling (internal issue
260+
4472).
261+
* Autogenerate "Or the equivalent" text for promoted tokens (internal MR
262+
7627).
263+
* Fix typos in VK_KHR_copy_memory_indirect common VUs (internal MR 7698).
264+
* Remove old Queue enum in vulkan object (internal MR 7692).
265+
* Move VkDescriptorImageInfo VU 00344 to common draw dispatch VUs
266+
(internal MR 7701).
267+
* Add more address range VUs, and move strided address range in line with
268+
other MRs (internal MR 7704).
269+
* Add structs to extensions for vulkan object (internal MR 7708).
270+
* Allow degenerate triangles to be skipped for transform feedback
271+
(internal MR 7714).
272+
273+
New Extensions
274+
275+
* VK_KHR_shader_fma
276+
277+
'''
278+
17279
Change log for September 25, 2025 Vulkan 1.4.328 spec update:
18280

19281
Github Issues

ChangeLogSC.adoc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,27 @@ with any public pull requests that have been accepted.
1212

1313
-----------------------------------------------------
1414
15+
Change log for November 10, 2025 Vulkan SC 1.0.20 spec update:
16+
17+
* update release number to 20 for this update and reflow spec language (#273/!417)
18+
19+
Public issues:
20+
21+
* None
22+
23+
Internal issues:
24+
25+
* Enable legacy appendix for Vulkan SC (#269/!415)
26+
* Add VKSC_VERSION_1_0 listing to Core Versions appendix (!416)
27+
* Merge VK 1.4.330 tag to sc_main (!414)
28+
* Merge VK 1.4.329 tag to sc_main (!413)
29+
* Merge VK 1.4.326 tag to sc_main (!412)
30+
* Add description of API compatibility between Vulkan and Vulkan SC (#272/!411)
31+
* Import reuse fix from github (!410)
32+
* Fix limittype for supportsNonZeroFirstInstance (!409)
33+
34+
-----------------------------------------------------
35+
1536
Change log for August 1, 2025 Vulkan SC 1.0.19 spec update:
1637

1738
* update release number to 19 for this update and reflow spec language (#258/!408)

0 commit comments

Comments
 (0)