Skip to content

Commit

Permalink
Change log for December 3, 2024 Vulkan 1.4.303 spec update:
Browse files Browse the repository at this point in the history
Internal Issues

  * Vulkan 1.4 initial release. Update release number to 303 for this
    update. The patch number will be used for all Vulkan 1.x spec updates,
    and continue to increment continuously from the previous Vulkan 1.3.302
    update.
  • Loading branch information
oddhack committed Dec 2, 2024
1 parent 6c1f255 commit c7a3955
Show file tree
Hide file tree
Showing 107 changed files with 4,662 additions and 2,831 deletions.
12 changes: 6 additions & 6 deletions BUILD.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Execute the commands:
$ cd /vulkan
$ ./makeSpec -spec core html

to build an HTML5 specification output for the core Vulkan 1.3
to build an HTML5 specification output for the core Vulkan 1.4
specification, with no extensions included, or

$ cd /vulkan
Expand Down Expand Up @@ -87,7 +87,7 @@ that script, so you have the latest version of the spec toolchain.
are irrelevant for most users.
The `html` target just generates the HTML output, which is often all
that is needed for spec bugfixes not involving extensions.
* The default `make` options build a Vulkan 1.3 specification with no
* The default `make` options build a Vulkan 1.4 specification with no
optional extensions.
* The `validusage` target is not built as part of the `all` target, due to
it needing to be built with all extensions enabled (`-spec all`).
Expand Down Expand Up @@ -139,7 +139,7 @@ If you encounter problems refer to the <<troubleshooting>> section.
[[building-versions]]
=== Building Specifications for Different API Versions

The `Makefile` defaults to building a Vulkan 1.3 specification.
The `Makefile` defaults to building a Vulkan 1.4 specification.
This is controlled by Asciidoctor attributes passed in the Makefile variable
`$(VERSIONS)`
To instead build a Vulkan 1.1 specification, pass
Expand Down Expand Up @@ -320,8 +320,8 @@ The supported macros are defined in the `config/spec-macros/extension.rb`
asciidoctor extension script.

The tags used are described in the
link:https://registry.khronos.org/vulkan/specs/1.1/styleguide.html[style
guide] (generated from `styleguide.adoc`).
link:https://registry.khronos.org/vulkan/specs/latest/styleguide.html[style
guide].

We (may) eventually tool up the spec and reference pages to the point that
anywhere there is a type or token referred to, clicking on (or perhaps
Expand Down Expand Up @@ -378,7 +378,7 @@ font family].
== Vulkan Style Guide

If you are writing new spec language or modifying existing language, see the
link:https://registry.khronos.org/vulkan/specs/1.3/styleguide.html["`style
link:https://registry.khronos.org/vulkan/specs/latest/styleguide.html["`style
guide`"] (formally titled "`Vulkan Documentation and Extensions: Procedures
and Conventions`") document for details of our asciidoctor macros,
extensions, mathematical equation markup, writing style, etc.
Expand Down
11 changes: 11 additions & 0 deletions ChangeLog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,17 @@ appears frequently in the change log.

'''

Change log for December 3, 2024 Vulkan 1.4.303 spec update:

Internal Issues

* Vulkan 1.4 initial release. Update release number to 303 for this
update. The patch number will be used for all Vulkan 1.x spec updates,
and continue to increment continuously from the previous Vulkan 1.3.302
update.

'''

Change log for November 21, 2024 Vulkan 1.3.302 spec update:

Github Issues
Expand Down
26 changes: 13 additions & 13 deletions LICENSES/LicenseRef-KhronosSpecCopyright.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -40,26 +40,26 @@ endif::ratified_core_spec[]
// Specifications that include non-ratified extensions
ifndef::ratified_core_spec[]

This document contains extensions which are not ratified by Khronos, and as
such is not a ratified Specification, though it contains text from (and is a
superset of) the ratified Specification.

ifndef::VKSC_VERSION_1_0[]
:apinameCR: Vulkan
:apiUrlCore: https://registry.khronos.org/vulkan/specs/1.3/html/vkspec.html
:apiUrlKHR: https://registry.khronos.org/vulkan/specs/1.3-khr-extensions/html/vkspec.html
:apiUrlKHR: https://registry.khronos.org/vulkan/specs/latest-ratified/pdf/vkspec.pdf

The ratified version of the Vulkan Specification can be found at {apiUrlKHR}
(core with all ratified extensions).
endif::VKSC_VERSION_1_0[]

ifdef::VKSC_VERSION_1_0[]
:apinameCR: Vulkan SC
:apiUrlCore: https://registry.khronos.org/vulkansc/specs/1.0/html/vkspec.html
:apiUrlKHR: https://registry.khronos.org/vulkansc/specs/1.0-khr-extensions/html/vkspec.html
endif::VKSC_VERSION_1_0[]

This document contains extensions which are not ratified by Khronos, and as
such is not a ratified Specification, though it contains text from (and is a
superset of) the ratified {apinameCR} Specification. The ratified versions
of the {apinameCR} Specification can be found at {apiUrlCore} (core only)
ifndef::VKSC_VERSION_1_0[]
and {apiUrlKHR} (core with all ratified extensions)
The ratified versions of the Vulkan SC Specification can be found at
{apiUrlCore} (core only) and {apiUrlKHR} (core with all ratified
extensions).
endif::VKSC_VERSION_1_0[]
.

endif::ratified_core_spec[]

// "Successor Specification" section
Expand Down Expand Up @@ -125,7 +125,7 @@ belong to their respective owners.
// exclusive conditional directives, allowing either form to be included
// in the output Specifications depending on which extension(s) they are
// built with. The non-ratified section includes links to the ratified
// Vulkan 1.3 Specifications in the Vulkan Registry.
// Vulkan 1.4 Specifications in the Vulkan Registry.
// - The "Successor Specification" section cites OpenGL, OpenGL ES, and
// OpenCL.
// - The "Normative Wording" section links to the Vulkan Specification
Expand Down
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 302
PATCHVERSION = 303
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
Expand All @@ -158,6 +158,9 @@ SPECREVISION = 1.0.$(SCPATCHVERSION)
BASEOPTS = -a baserevnumber="$(VKSPECREVISION)"
else

ifneq (,$(findstring VK_VERSION_1_4,$(VERSIONS)))
SPECMINOR = 4
else
ifneq (,$(findstring VK_VERSION_1_3,$(VERSIONS)))
SPECMINOR = 3
else
Expand All @@ -171,6 +174,7 @@ SPECMINOR = 0
endif
endif
endif
endif

SPECREVISION = 1.$(SPECMINOR).$(PATCHVERSION)
endif
Expand Down
12 changes: 6 additions & 6 deletions READMEVK.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,15 @@ Group to review in a timely fashion.
The current Specification is maintained in the default branch (currently
`main`) of the repository.
From this branch it is possible to generate Specifications for any published
version of Vulkan (1.3, 1.2, 1.1, and 1.0), and incorporating any desired set of
extensions.
Each published update is tagged in the form `1.3.*release*` where *release*
is a constantly incrementing release number and `1.3` is the latest
version of Vulkan (1.4, 1.3, 1.2, 1.1, and 1.0), and incorporating any
desired set of extensions.
Each published update is tagged in the form `1.4.*release*` where *release*
is a constantly incrementing release number and `1.4` is the latest
published version of the API.
The last public spec update prior to Vulkan 1.3 is tagged `v1.2.???`.
The last public spec update prior to Vulkan 1.4 is tagged `v1.3.???`.

The last state of the default branch in Khronos' internal GitLab server,
before 1.3 content was merged into it, is tagged `1.2-archive` (this tag is
before 1.4 content was merged into it, is tagged `1.3-archive` (this tag is
not in GitHub).


1 change: 0 additions & 1 deletion appendices/VK_EXT_4444_formats.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ include::{generated}/interfaces/VK_EXT_4444_formats.adoc[]

=== Promotion to Vulkan 1.3

This extension has been partially promoted.
The format enumerants introduced by the extension are included in core
Vulkan 1.3, with the EXT suffix omitted.
However, runtime support for these formats is optional in core Vulkan 1.3,
Expand Down
1 change: 0 additions & 1 deletion appendices/VK_EXT_extended_dynamic_state.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ include::{generated}/interfaces/VK_EXT_extended_dynamic_state.adoc[]

=== Promotion to Vulkan 1.3

This extension has been partially promoted.
All dynamic state enumerants and commands in this extension are included in
core Vulkan 1.3, with the EXT suffix omitted.
The feature structure is not promoted.
Expand Down
1 change: 0 additions & 1 deletion appendices/VK_EXT_extended_dynamic_state2.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ include::{generated}/interfaces/VK_EXT_extended_dynamic_state2.adoc[]

=== Promotion to Vulkan 1.3

This extension has been partially promoted.
The dynamic state enumerants ename:VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT,
ename:VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT, and
ename:VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT; and the corresponding
Expand Down
17 changes: 17 additions & 0 deletions appendices/VK_EXT_host_image_copy.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,23 @@ in flink:vkGetImageSubresourceLayout2EXT.

include::{generated}/interfaces/VK_EXT_host_image_copy.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4, with the EXT
suffix omitted.
However, the feature is made optional in Vulkan 1.4.
The original type, enum and command names are still available as aliases of
the core functionality.

A Vulkan 1.4 implementation that has a ename:VK_QUEUE_GRAPHICS_BIT queue
must support either:

* the <<features-hostImageCopy, pname:hostImageCopy>> feature; or
* an additional queue that supports ename:VK_QUEUE_TRANSFER_BIT.

Additionally, all queues supporting ename:VK_QUEUE_GRAPHICS_BIT or
ename:VK_QUEUE_COMPUTE_BIT must also advertise ename:VK_QUEUE_TRANSFER_BIT.

=== Issues

1) When uploading data to an image, the data is usually loaded from disk.
Expand Down
2 changes: 1 addition & 1 deletion appendices/VK_EXT_map_memory_placed.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ include::{generated}/interfaces/VK_EXT_map_memory_placed.adoc[]

=== Version History

* Revision 0, 2024-01-14 (Faith Ekstrand)
* Revision 1, 2024-01-14 (Faith Ekstrand)
** Internal revisions
7 changes: 7 additions & 0 deletions appendices/VK_EXT_pipeline_protected_access.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ make such accesses.

include::{generated}/interfaces/VK_EXT_pipeline_protected_access.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4 with the EXT
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

=== Version History

* Revision 1, 2022-07-28 (Shahbaz Youssefi)
Expand Down
7 changes: 7 additions & 0 deletions appendices/VK_EXT_pipeline_robustness.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ it may be needed.

include::{generated}/interfaces/VK_EXT_pipeline_robustness.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4 with the EXT
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

=== Version History

* Revision 1, 2022-07-12 (Jarred Davies)
Expand Down
1 change: 0 additions & 1 deletion appendices/VK_EXT_texture_compression_astc_hdr.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ include::{generated}/interfaces/VK_EXT_texture_compression_astc_hdr.adoc[]

=== Promotion to Vulkan 1.3

This extension has been partially promoted.
Vulkan APIs in this extension are included in core Vulkan 1.3, with the EXT
suffix omitted.
However, the feature is made optional in Vulkan 1.3.
Expand Down
1 change: 0 additions & 1 deletion appendices/VK_EXT_ycbcr_2plane_444_formats.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ include::{generated}/interfaces/VK_EXT_ycbcr_2plane_444_formats.adoc[]

=== Promotion to Vulkan 1.3

This extension has been partially promoted.
The format enumerants introduced by the extension are included in core
Vulkan 1.3, with the EXT suffix omitted.
However, runtime support for these formats is optional in core Vulkan 1.3,
Expand Down
16 changes: 16 additions & 0 deletions appendices/VK_KHR_dynamic_rendering_local_read.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,22 @@ previous fragment shaders within a dynamic render pass.

include::{generated}/interfaces/VK_KHR_dynamic_rendering_local_read.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4, with the KHR
suffix omitted.
However, Vulkan 1.4 implementations only have to support local read for
storage resources and single sampled color attachments.

Support for reading depth/stencil attachments and multi-sampled attachments
are respectively gated behind the new boolean
pname:dynamicRenderingLocalReadDepthStencilAttachments and
pname:dynamicRenderingLocalReadMultisampledAttachments properties, as
described in the <<versions-1.4, Version 1.4>> appendix.

The original type, enum, and command names are still available as aliases of
the core functionality.

=== Version History

* Revision 1, 2023-11-03 (Tobias Hector)
Expand Down
7 changes: 7 additions & 0 deletions appendices/VK_KHR_global_priority.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ In this scenario ename:VK_ERROR_INITIALIZATION_FAILED is returned.

include::{generated}/interfaces/VK_KHR_global_priority.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4 with the KHR
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

=== Issues

1) Can we additionally query whether a caller is permitted to acquire a
Expand Down
7 changes: 7 additions & 0 deletions appendices/VK_KHR_index_type_uint8.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ flink:vkCmdBindIndexBuffer.

include::{generated}/interfaces/VK_KHR_index_type_uint8.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4 with the KHR
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

=== Version History

* Revision 1, 2023-06-06 (Piers Daniell)
Expand Down
10 changes: 10 additions & 0 deletions appendices/VK_KHR_line_rasterization.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,16 @@ three line rasterization modes.

include::{generated}/interfaces/VK_KHR_line_rasterization.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4 with the KHR
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

When <<versions-1.4, Version 1.4>> is supported, the
<<features-bresenhamLines,pname:bresenhamLines>> feature must be supported.

=== Issues

1) Do we need to support Bresenham-style and smooth lines with more than one
Expand Down
9 changes: 8 additions & 1 deletion appendices/VK_KHR_load_store_op_none.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,17 @@ the `apiext:VK_EXT_load_store_op_none` extension.

include::{generated}/interfaces/VK_KHR_load_store_op_none.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4 with the KHR
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

[NOTE]
====
While ename:VK_ATTACHMENT_STORE_OP_NONE is part of Vulkan 1.3, this
extension was not promoted to core either in whole or in part.
extension was not promoted to core Vulkan 1.3 either in whole or in part.
This functionality was promoted from `apiext:VK_KHR_dynamic_rendering`.
====

Expand Down
7 changes: 5 additions & 2 deletions appendices/VK_KHR_maintenance5.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,12 @@ The new features are as follows:

include::{generated}/interfaces/VK_KHR_maintenance5.adoc[]

=== Issues
=== Promotion to Vulkan 1.4

None.
Functionality in this extension is included in core Vulkan 1.4 with the KHR
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

=== Version History

Expand Down
7 changes: 5 additions & 2 deletions appendices/VK_KHR_maintenance6.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,12 @@ The new features are as follows:

include::{generated}/interfaces/VK_KHR_maintenance6.adoc[]

=== Issues
=== Promotion to Vulkan 1.4

None.
Functionality in this extension is included in core Vulkan 1.4 with the KHR
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

=== Version History

Expand Down
7 changes: 7 additions & 0 deletions appendices/VK_KHR_map_memory2.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ used to pass extension-specific information.

include::{generated}/interfaces/VK_KHR_map_memory2.adoc[]

=== Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4 with the KHR
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

=== Version History

* Revision 0, 2022-08-03 (Faith Ekstrand)
Expand Down
Loading

0 comments on commit c7a3955

Please sign in to comment.