Skip to content

Commit 6019efe

Browse files
committed
Change log for April 3, 2026 Vulkan 1.4.348 spec update:
Github Issues * Use links to github instead of internal Khronos gitlab in proposal documents (public PR 2703). * Add explicit dependency on VkSurfaceTransformFlagsKHR to VK_KHR_surface (public issue 2706). * Use promoted type names in XML struct member declarations instead of older extension type names (public PR 2708). Internal Issues * Define when <<interfaces-fragmentoutput, color attachments have undefined values>> (issue 4206). * Clarify <<shaders-interpolation-decorations, single sampled interpolation with VK_EXT_sample_locations>> (issue 4617) * Update incorrect limit types for renderPassStripeGranularity and tileGranularity in XML (issue 4657). * Add VkComputePipelineCreateInfo VU, and common ray tracing pipeline create info VU for VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT (issue 4697). * Split up confusing VkImageViewCreateInfo VU 01762 (issue 4715). * Add VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV to descriptions of <<descriptors-partitionedaccelerationstructure, descriptor type enums>> (issue 4740). * Mark VkMemoryBarrierAccessFlags3KHR as extending VkMemoryRangeBarriersInfoKHR in XML (issue 4756). * Add parent and extending fields to Vulkan object (MR 7876). * Fixes and improvements to VK_EXT_present_timing for consistency with the proposal document (MR 8052). * Add CI check for internal links in published documents (MR 8148). * Fix typo in VkImageViewCreateInfo attachmentFragmentShadingRate VU 12386 (MR 8150). * Improve description of vkCmdDispatchIndirect2KHR (MR 8151). * Add `noautovalidity` attribute on VkDeviceImageMemoryRequirements::planeAspect in XML and a corresponding explicit VU statement (MR 8158). * Fix Roadmap 2022 maxPerStageDescriptorStorageImages from 144 -> 16 in the Required Limits table (MR 8159). * Add missing `len` attribute in VkTensorDependencyInfoARM (MR 8163). * Add a note to the `optionalPointer` name in Vulkan object (MR 8167). * Add VK_EXT_fragment_density `<require>` dependency around VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT in VK_EXT_descriptor_buffer XML (MR 8174). New Extensions * VK_ARM_graph_instruction_set_tosa * VK_ARM_scheduling_controls (revision 2) * VK_EXT_primitive_restart_index * VK_QCOM_queue_perf_hint
1 parent 6536f09 commit 6019efe

32 files changed

Lines changed: 1330 additions & 83 deletions

.github/workflows/CI.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,10 @@ jobs:
179179
- name: Run the Vulkan-specific tests (from scripts/check_build_sanity.py) # codespell:allow sanity
180180
run: |
181181
cd VK-GL-CTS
182-
python3 external/vulkancts/scripts/gen_framework.py
183-
python3 external/vulkancts/scripts/gen_framework_c.py
184-
python3 external/vulkancts/scripts/gen_framework.py --api SC
185-
python3 external/vulkancts/scripts/gen_framework_c.py --api SC
182+
python3 external/vulkancts/scripts/gen_framework.py --api vulkan
183+
python3 external/vulkancts/scripts/gen_framework_c.py --api vulkan
184+
python3 external/vulkancts/scripts/gen_framework.py --api vulkansc
185+
python3 external/vulkancts/scripts/gen_framework_c.py --api vulkansc
186186
187187
h-compile:
188188
name: Compile a simple test program that uses vulkan.h

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ __pycache__
5050
/gen/
5151
/gencore/
5252
/genrat/
53+
/genvkb/
54+
/genvkc/
55+
/genvkg/
56+
/genvksc/
5357

5458
# Output files and directories
5559
gen/out/**

.gitlab-ci.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,17 @@ consistency-check:
3737
- make CHECK_XREFS= allchecks
3838
allow_failure: false
3939

40-
# Check (only in main branch) for PROPOSED or UNRESOLVED issues in
41-
# appendices
42-
proposed-check:
40+
# Check (only in main branch) for references to material that should not
41+
# appear in the public repository or published specifications:
42+
# - PROPOSED or UNRESOLVED issues in appendices
43+
# - Internal gitlab links in document markup
44+
internal-phrasing-check:
4345
stage: build
4446
script:
45-
- make check-proposed
47+
- make check-internal-phrasing
4648
rules:
47-
- if: $CI_COMMIT_BRANCH =~ /main/
49+
- if: $CI_COMMIT_BRANCH == "main"
50+
- if: $CI_COMMIT_BRANCH == "4755-links"
4851

4952
# Consistency check for extension development branches
5053
# First verify that SPEC_VERSION >= 1 (-test argument)
@@ -204,10 +207,10 @@ cts-framework-tests:
204207
- mkdir external/vulkan-docs
205208
- ln -s `cd .. ; pwd` external/vulkan-docs/src
206209
# Run the Vulkan-specific tests (from scripts/check_build_sanity.py) # codespell:allow sanity
207-
- python3 external/vulkancts/scripts/gen_framework.py
208-
- python3 external/vulkancts/scripts/gen_framework_c.py
209-
- python3 external/vulkancts/scripts/gen_framework.py --api SC
210-
- python3 external/vulkancts/scripts/gen_framework_c.py --api SC
210+
- python3 external/vulkancts/scripts/gen_framework.py --api vulkan
211+
- python3 external/vulkancts/scripts/gen_framework_c.py --api vulkan
212+
- python3 external/vulkancts/scripts/gen_framework.py --api vulkansc
213+
- python3 external/vulkancts/scripts/gen_framework_c.py --api vulkansc
211214
allow_failure: true
212215

213216
# Compile a simple test program that uses vulkan.h

ChangeLog.adoc

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

1515
'''
1616

17+
Change log for April 3, 2026 Vulkan 1.4.348 spec update:
18+
19+
Github Issues
20+
21+
* Use links to github instead of internal Khronos gitlab in proposal
22+
documents (public PR 2703).
23+
* Add explicit dependency on VkSurfaceTransformFlagsKHR to VK_KHR_surface
24+
(public issue 2706).
25+
* Use promoted type names in XML struct member declarations instead of
26+
older extension type names (public PR 2708).
27+
28+
Internal Issues
29+
30+
* Define when <<interfaces-fragmentoutput, color attachments have
31+
undefined values>> (issue 4206).
32+
* Clarify <<shaders-interpolation-decorations, single sampled
33+
interpolation with VK_EXT_sample_locations>> (issue 4617)
34+
* Update incorrect limit types for renderPassStripeGranularity and
35+
tileGranularity in XML (issue 4657).
36+
* Add VkComputePipelineCreateInfo VU, and common ray tracing pipeline
37+
create info VU for VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT (issue
38+
4697).
39+
* Split up confusing VkImageViewCreateInfo VU 01762 (issue 4715).
40+
* Add VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV to
41+
descriptions of <<descriptors-partitionedaccelerationstructure,
42+
descriptor type enums>> (issue 4740).
43+
* Mark VkMemoryBarrierAccessFlags3KHR as extending
44+
VkMemoryRangeBarriersInfoKHR in XML (issue 4756).
45+
* Add parent and extending fields to Vulkan object (MR 7876).
46+
* Fixes and improvements to VK_EXT_present_timing for consistency with the
47+
proposal document (MR 8052).
48+
* Add CI check for internal links in published documents (MR 8148).
49+
* Fix typo in VkImageViewCreateInfo attachmentFragmentShadingRate VU 12386
50+
(MR 8150).
51+
* Improve description of vkCmdDispatchIndirect2KHR (MR 8151).
52+
* Add `noautovalidity` attribute on
53+
VkDeviceImageMemoryRequirements::planeAspect in XML and a corresponding
54+
explicit VU statement (MR 8158).
55+
* Fix Roadmap 2022 maxPerStageDescriptorStorageImages from 144 -> 16 in
56+
the Required Limits table (MR 8159).
57+
* Add missing `len` attribute in VkTensorDependencyInfoARM (MR 8163).
58+
* Add a note to the `optionalPointer` name in Vulkan object (MR 8167).
59+
* Add VK_EXT_fragment_density `<require>` dependency around
60+
VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT in
61+
VK_EXT_descriptor_buffer XML (MR 8174).
62+
63+
New Extensions
64+
65+
* VK_ARM_graph_instruction_set_tosa
66+
* VK_ARM_scheduling_controls (revision 2)
67+
* VK_EXT_primitive_restart_index
68+
* VK_QCOM_queue_perf_hint
69+
70+
'''
71+
1772
Change log for March 20, 2026 Vulkan 1.4.347 spec update:
1873

1974
Github Issues
@@ -94,8 +149,8 @@ Internal Issues
94149
* Move VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE to
95150
VK_COMPUTE_VERSION_1_2 XML feature from VK_BASE_VERSION_1_0 (internal MR
96151
8123).
97-
* Remove duplicate VUs from vkCmdCopyAccelerationStructureKHR (internal MR
98-
8125).
152+
* Remove duplicate VUs from vkCmdCopyAccelerationStructureKHR (internal MR
153+
8125).
99154

100155
New Extensions
101156

@@ -15459,10 +15514,9 @@ GitHub Issues:
1545915514
* Add missing error return code for
1546015515
flink:vkEnumerateInstanceExtensionProperties and
1546115516
flink:vkEnumerateDeviceExtensionProperties (public issue 285)
15462-
* Fix several cases of stext::VkStructName.memberName markup to
15463-
stext::VkStructName::pname:memberName, to match other usage in the
15464-
spec, and describe this markup in the style guide (public issue
15465-
286).
15517+
* Fix several cases of stext{wj}::VkStructName.memberName markup to
15518+
stext{wj}::VkStructName::pname:memberName, to match other usage in the
15519+
spec, and describe this markup in the style guide (public issue 286).
1546615520
* Modified validity language generation script to avoid redundant
1546715521
common ancestor language if covered by generic parent language, and
1546815522
used `Both' instead of `Each' when appropriate (public issue 288).

Makefile

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ VERBOSE =
151151
# ADOCOPTS options for asciidoc->HTML5 output
152152

153153
NOTEOPTS = -a editing-notes -a implementation-guide
154-
PATCHVERSION = 347
154+
PATCHVERSION = 348
155155
BASEOPTS =
156156

157157
ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
@@ -463,8 +463,11 @@ reflow:
463463
# Automated markup and consistency checks, invoked by 'allchecks' and
464464
# 'ci-allchecks' targets or individually.
465465

466-
# Sources of spec-type markup - spec, registry schema document, and style guide
467-
MARKUP_SPEC_SOURCES = $(SPECDIR)/[a-z]*.adoc $(SPECDIR)/chapters $(SPECDIR)/appendices $(SPECDIR)/style
466+
# Sources of spec-type markup - spec, registry schema document, and
467+
# style guide.
468+
# This is a mix of paths and filenames, and relies on 'git grep' to
469+
# expand paths to files.
470+
MARKUP_SPEC_SOURCES = $(SPECDIR)/[a-z]*.adoc $(SPECDIR)/chapters $(SPECDIR)/appendices $(SPECDIR)/config/*.adoc $(SPECDIR)/style
468471

469472
# Look for disallowed contractions
470473
CHECK_CONTRACTIONS = git grep -n -i -F -f $(ROOTDIR)/config/CI/contractions | grep -v -E -f $(ROOTDIR)/config/CI/contractions-allowed
@@ -597,17 +600,29 @@ check-txtfiles:
597600
check-xrefs: $(HTMLDIR)/vkspec.html
598601
$(PYTHON) $(SCRIPTS)/check_html_xrefs.py $(HTMLDIR)/vkspec.html
599602

603+
# Check for stuff that should not be published.
604+
# This is not part of 'allchecks' since it would fail in most new
605+
# extension branches, and runs only on main branch in CI.
606+
check-internal-phrasing: check-proposed check-gitlab
607+
600608
# Check for UNRESOLVED or PROPOSED issues in extension appendices
601-
# This is not run as part of 'allchecks' since it would fail in most new
602-
# extension branches, but instead triggered only in main branch by CI
603-
CHECK_PROPOSED = git grep -n -E 'PROPOSED|UNRESOLVED' $(SPECDIR)/appendices/VK_*.adoc
609+
CHECK_PROPOSED = git grep -n -E 'PROPOSED|UNRESOLVED' $(SPECDIR)/appendices/
604610
check-proposed:
605611
if test `$(CHECK_PROPOSED) | wc -l` != 0 ; then \
606-
echo "PROPOSED or UNRESOLVED issues should not be present in published extension appendices:" ; \
612+
echo "PROPOSED or UNRESOLVED issues should not be published in extension appendices:" ; \
607613
$(CHECK_PROPOSED) ; \
608614
exit 1 ; \
609615
fi
610616

617+
# Check for internal gitlab links anywhere in markup sources
618+
CHECK_GITLAB = git grep -n 'gitlab.khronos.org' $(MARKUP_SPEC_SOURCES) proposals/
619+
check-gitlab:
620+
if test `$(CHECK_GITLAB) | wc -l` != 0 ; then \
621+
echo "Internal gitlab.khronos.org links should not be published, use corresponding github links instead:" ; \
622+
$(CHECK_GITLAB) ; \
623+
exit 1 ; \
624+
fi
625+
611626
# Generated refpage sources. For now, always build all refpages.
612627
MANSOURCES = $(wildcard $(REFPATH)/*.adoc)
613628

antora/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,8 @@
77
**/partials
88
**/pages/proposals
99
**/pages/gen
10+
**/pages/genvkb
11+
**/pages/genvkc
12+
**/pages/genvkg
13+
**/pages/genvksc
1014
spec/modules/ROOT/nav.adoc
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Copyright (c) 2022-2026 Arm Ltd.
2+
//
3+
// SPDX-License-Identifier: CC-BY-4.0
4+
5+
include::{generated}/meta/{refprefix}VK_ARM_data_graph_instruction_set_tosa.adoc[]
6+
7+
=== Other Extension Metadata
8+
9+
*Last Modified Date*::
10+
2026-03-30
11+
*Interactions and External Dependencies*::
12+
- This extension requires {spirvregistry}/extended/TOSA.001000.1.html[the
13+
TOSA SPIR-V 001000.1 extended instruction set]
14+
*IP Status*::
15+
No known IP claims.
16+
*Contributors*::
17+
- Kévin Petit, Arm Ltd.
18+
19+
=== Description
20+
21+
This extensions adds support for the `TOSA.001000.1` extended instruction
22+
set for use in data graphs as defined by apiext:VK_ARM_data_graph.
23+
It also adds detailed queries to report the TOSA profiles, levels, and
24+
extensions that are supported along with the quality of the implementation
25+
(e.g. accelerated, experimental, deprecated, etc).
26+
27+
include::{generated}/interfaces/VK_ARM_data_graph_instruction_set_tosa.adoc[]
28+
29+
=== New SPIR-V Capabilities
30+
31+
None.
32+
33+
=== Issues
34+
35+
None.
36+
37+
=== Version History
38+
39+
* Revision 1, 2026-03-30 (Kévin Petit)
40+
** Initial revision

appendices/VK_ARM_scheduling_controls.adoc

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2023 Arm Ltd.
1+
// Copyright (c) 2023-2025 Arm Ltd.
22
//
33
// SPDX-License-Identifier: CC-BY-4.0
44

@@ -7,7 +7,7 @@ include::{generated}/meta/{refprefix}VK_ARM_scheduling_controls.adoc[]
77
=== Other Extension Metadata
88

99
*Last Modified Date*::
10-
2023-08-23
10+
2025-09-05
1111
*Interactions and External Dependencies*::
1212
None
1313
*IP Status*::
@@ -34,5 +34,12 @@ None.
3434

3535
=== Version History
3636

37+
* Revision 2, 2025-09-05 (Kévin Petit)
38+
** Add dispatch parameters controls
39+
*** ename:VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_ARM
40+
*** flink:vkCmdSetDispatchParametersARM
41+
*** slink:VkDispatchParametersARM
42+
*** slink:VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM
43+
3744
* Revision 1, 2023-08-23 (Kévin Petit)
3845
** Initial revision
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Copyright 2026 The Khronos Group Inc.
2+
//
3+
// SPDX-License-Identifier: CC-BY-4.0
4+
5+
include::{generated}/meta/{refprefix}VK_EXT_primitive_restart_index.adoc[]
6+
7+
=== Other Extension Metadata
8+
9+
*Last Modified Date*::
10+
2026-03-10
11+
*IP Status*::
12+
No known IP claims.
13+
*Contributors*::
14+
- Mike Blumenkrantz, Valve
15+
- Spencer Fricke, LunarG
16+
- Ricardo Garcia, Igalia
17+
- Piers Daniell, NVIDIA
18+
19+
=== Description
20+
21+
This extension allows setting a custom primitive restart index.
22+
It is primarily intended to support GL emulation.
23+
24+
include::{generated}/interfaces/VK_EXT_primitive_restart_index.adoc[]
25+
26+
=== Version History
27+
28+
* Revision 1, 2026-03-10 (Mike Blumenkrantz)
29+
** Internal revisions
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright 2025-2026 The Khronos Group Inc.
2+
//
3+
// SPDX-License-Identifier: CC-BY-4.0
4+
5+
include::{generated}/meta/{refprefix}VK_QCOM_queue_perf_hint.adoc[]
6+
7+
=== Other Extension Metadata
8+
9+
*Last Modified Date*::
10+
2026-02-26
11+
*IP Status*::
12+
No known IP claims.
13+
*Interactions and External Dependencies*::
14+
- Interacts with `apiext:VK_KHR_internally_synchronized_queues`
15+
*Contributors*::
16+
- Matthew Netsch, Qualcomm Technologies, Inc
17+
18+
=== Description
19+
20+
This extension exposes power constraints to the application, allowing it to
21+
provide hints for influencing the device's clock frequency.
22+
23+
These hints are sname:VkQueue state and are persistent across the life of
24+
the queue until the app updates or removes the constraint.
25+
The kernel combines the constraints across the active queues from all
26+
processes to determine the actual clock frequency levels.
27+
28+
include::{generated}/interfaces/VK_QCOM_queue_perf_hint.adoc[]
29+
30+
=== Issues
31+
32+
None.
33+
34+
=== Version History
35+
36+
* Revision 1, 2026-02-26 (Matthew Netsch)

0 commit comments

Comments
 (0)