Skip to content

Commit

Permalink
Change log for October 13, 2023 Vulkan 1.3.268 spec update:
Browse files Browse the repository at this point in the history
Github Issues

  * Restrict flink:vkCmdSetEvent2 ptext:*stageMask parameters to not include
    ename:VK_PIPELINE_STAGE_2_HOST_BIT (public issue 1996).
  * Fix <<formats-non-packed, byte mapping table>> for
    ename:VK_FORMAT_A8_UNORM_KHR (public issue 2234).
  * Assign VUIDs to new VUs that were overlooked in the previous spec update
    (public issue 2244).
  * Add a spec build test and refactor Makefile to allow using a different
    repository root directory path, for use with the tests (public PR 2248).

Internal Issues

  * Add VUs to slink:VkCopyMemoryToImageInfoEXT and
    slink:VkCopyImageToMemoryInfoEXT requiring zero row-length /
    image-height when doing a host copy with
    ename:VK_HOST_IMAGE_COPY_MEMCPY_EXT (internal issue 3619).
  * Clarify that fragment shading rate attachments cannot be cleared in VU
    for slink:VkRenderPassCreateInfo2 and language for
    slink:VkAttachmentDescription2KHR (internal issue 3634).
  * Add VUs to slink:VkSparseImageMemoryBind requiring a non-zero extent
    (internal issue 3635).
  * Consolidate VUs in many files (internal MRs 6138, 6141. 6142, 6147,
    6149, 6153, 6161, 6162, 6167, 6170, 6194, and 6197).
  * Use title case consistently for chapter and section titles, and add it
    to the style guide (internal MR 6201).
  • Loading branch information
oddhack committed Oct 13, 2023
1 parent a0797ed commit bb67834
Show file tree
Hide file tree
Showing 65 changed files with 711 additions and 835 deletions.
8 changes: 4 additions & 4 deletions BUILD.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ and contains some troubleshooting advice.


[[building]]
== Building The Spec
== Building the Spec

First, clone the Khronos GitHub repository containing the Vulkan
specification to your local Linux, Windows, or Mac PC.
Expand Down Expand Up @@ -130,7 +130,7 @@ If you encounter problems refer to the <<troubleshooting>> section.


[[building-versions]]
=== Building Specifications For Different API Versions
=== Building Specifications for Different API Versions

The `Makefile` defaults to building a Vulkan 1.3 specification.
This is controlled by Asciidoctor attributes passed in the Makefile variable
Expand Down Expand Up @@ -235,7 +235,7 @@ probably cause any more restricted set of refpages to fail to build.


[[building-diff]]
==== Building A Highlighted Extension Diff
==== Building a Highlighted Extension Diff

The `diff_html` target in the Makefile can be used to generate a version of
the specification which highlights changes made to the specification by the
Expand Down Expand Up @@ -278,7 +278,7 @@ The asciidoctor HTML build is very fast, even for the whole Specification,
but PDF builds take several minutes.


=== Images Used In The Specification
=== Images Used in the Specification

All images used in the specification are in the `images/` directory in the
SVG format, and were created with Inkscape.
Expand Down
2 changes: 1 addition & 1 deletion COPYING.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2020-2023 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

= COPYING file for the KhronosGroup/Vulkan-Docs project
= COPYING File for the KhronosGroup/Vulkan-Docs Project

== Licenses

Expand Down
31 changes: 31 additions & 0 deletions ChangeLog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,37 @@ appears frequently in the change log.

-----------------------------------------------------

Change log for October 13, 2023 Vulkan 1.3.268 spec update:

Github Issues

* Restrict flink:vkCmdSetEvent2 ptext:*stageMask parameters to not include
ename:VK_PIPELINE_STAGE_2_HOST_BIT (public issue 1996).
* Fix <<formats-non-packed, byte mapping table>> for
ename:VK_FORMAT_A8_UNORM_KHR (public issue 2234).
* Assign VUIDs to new VUs that were overlooked in the previous spec update
(public issue 2244).
* Add a spec build test and refactor Makefile to allow using a different
repository root directory path, for use with the tests (public PR 2248).

Internal Issues

* Add VUs to slink:VkCopyMemoryToImageInfoEXT and
slink:VkCopyImageToMemoryInfoEXT requiring zero row-length /
image-height when doing a host copy with
ename:VK_HOST_IMAGE_COPY_MEMCPY_EXT (internal issue 3619).
* Clarify that fragment shading rate attachments cannot be cleared in VU
for slink:VkRenderPassCreateInfo2 and language for
slink:VkAttachmentDescription2KHR (internal issue 3634).
* Add VUs to slink:VkSparseImageMemoryBind requiring a non-zero extent
(internal issue 3635).
* Consolidate VUs in many files (internal MRs 6138, 6141. 6142, 6147,
6149, 6153, 6161, 6162, 6167, 6170, 6194, and 6197).
* Use title case consistently for chapter and section titles, and add it
to the style guide (internal MR 6201).

-----------------------------------------------------

Change log for October 6, 2023 Vulkan 1.3.267 spec update:

Internal Issues
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2020-2023 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

= LICENSE file for the KhronosGroup/Vulkan-Docs project
= LICENSE File for the KhronosGroup/Vulkan-Docs Project

Files in this repository fall under one of these licenses:

Expand Down
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 267
PATCHVERSION = 268
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
Expand Down Expand Up @@ -747,13 +747,13 @@ $(SYNCDEPEND): $(VKXML) $(GENVK)
attribs: $(ATTRIBFILE)

$(ATTRIBFILE):
for attrib in $(VERSIONS) $(EXTS) ; do \
$(QUIET)for attrib in $(VERSIONS) $(EXTS) ; do \
echo ":$${attrib}:" ; \
done > $@
(echo ":SPECREVISION: $(SPECREVISION)" ; \
echo ":SPECDATE: $(SPECDATE)" ; \
echo ":SPECREMARK: $(SPECREMARK)" ; \
echo ":APITITLE: $(APITITLE)") >> $@
$(QUIET)(echo ":SPECREVISION: $(SPECREVISION)" ; \
echo ":SPECDATE: $(SPECDATE)" ; \
echo ":SPECREMARK: $(SPECREMARK)" ; \
echo ":APITITLE: $(APITITLE)") >> $@

# Debugging aid - generate all files from registry XML
generated: $(PYAPIMAP) $(GENDEPENDS)
4 changes: 3 additions & 1 deletion appendices/VK_EXT_extended_dynamic_state.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ core functionality.

=== Issues

==== Why are the values of pname:pStrides in flink:vkCmdBindVertexBuffers2 limited to be between 0 and the maximum extent of the binding, when this restriction is not present for the same static state?
1) Why are the values of pname:pStrides in flink:vkCmdBindVertexBuffers2
limited to be between 0 and the maximum extent of the binding, when this
restriction is not present for the same static state?

Implementing these edge cases adds overhead to some implementations that
would require significant cost when calling this function, and the intention
Expand Down
4 changes: 2 additions & 2 deletions appendices/VK_EXT_fragment_density_map2.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ include::{generated}/interfaces/VK_EXT_fragment_density_map2.adoc[]
ifdef::isrefpage[]
=== Examples

==== Additional limits for subsampling
==== Additional Limits for Subsampling

Some implementations may not support subsampled samplers if certain
implementation limits are not observed by the app.
slink:VkPhysicalDeviceFragmentDensityMap2PropertiesEXT provides additional
limits to require apps remain within these boundaries if they wish to use
subsampling.

==== Improved host latency
==== Improved Host Latency

By default, the fragment density map is locked by the host for reading
between flink:vkCmdBeginRenderPass during recording and
Expand Down
2 changes: 1 addition & 1 deletion appendices/VK_HUAWEI_cluster_culling_shader.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ include::{generated}/interfaces/VK_HUAWEI_cluster_culling_shader.adoc[]
* <<spirvenv-capabilities-table-ClusterCullingShadingHUAWEI,
code:ClusterCullingShadingHUAWEI>>

=== Sample code
=== Sample Code

Example of cluster culling in a GLSL shader

Expand Down
2 changes: 1 addition & 1 deletion appendices/VK_KHR_shader_float_controls.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ is passed to them.


[[VK_KHR_shader_controls_v4_incompatibility]]
=== Version 4 API incompatibility
=== Version 4 API Incompatibility

The original versions of `VK_KHR_shader_float_controls` shipped with
booleans named "`separateDenormSettings`" and
Expand Down
2 changes: 1 addition & 1 deletion appendices/compressedtex.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ color if the implementation supports HDR decoding.

ifdef::VK_EXT_astc_decode_mode[]

=== ASTC decode mode
=== ASTC Decode Mode

If the `VK_EXT_astc_decode_mode` extension is enabled, the decode mode is
determined as follows:
Expand Down
4 changes: 2 additions & 2 deletions appendices/roadmap/Roadmap-2022.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

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
=== Required API Versions

This profile requires Vulkan 1.3.

Expand Down Expand Up @@ -130,7 +130,7 @@ The following core increased limits are required:
| pname:maxSubgroupSize | - | - | 4 | min
|====

=== Required extensions
=== Required Extensions

The following extensions are required:

Expand Down
4 changes: 2 additions & 2 deletions appendices/spirvenv.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ include::{generated}/spirvcap/exttable.adoc[]


[[spirvenv-module-validation]]
== Validation Rules within a Module
== Validation Rules Within a Module

ifndef::VKSC_VERSION_1_0[]
A SPIR-V module passed to flink:vkCreateShaderModule must: conform to the
Expand Down Expand Up @@ -2582,7 +2582,7 @@ The _SPIR-V Type_ is defined by an instruction in SPIR-V, declared with the
Type-Declaration Instruction, Bit Width, and Signedness from above.

[[spirvenv-image-formats]]
== Compatibility Between SPIR-V Image Formats And Vulkan Formats
== Compatibility Between SPIR-V Image Formats and Vulkan Formats

SPIR-V code:Image code:Format values are compatible with elink:VkFormat
values as defined below:
Expand Down
40 changes: 20 additions & 20 deletions appendices/versions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,22 @@ include::{generated}/meta/promoted_extensions_VK_VERSION_1_3.adoc[]
All differences in behavior between these extensions and the corresponding
Vulkan 1.3 functionality are summarized below.

=== Differences relative to `VK_EXT_4444_formats`
=== Differences Relative to `VK_EXT_4444_formats`

If the `apiext:VK_EXT_4444_formats` extension is not supported, support for
all formats defined by it are optional in Vulkan 1.3.
There are no members in the slink:VkPhysicalDeviceVulkan13Features structure
corresponding to the slink:VkPhysicalDevice4444FormatsFeaturesEXT structure.

=== Differences relative to `VK_EXT_extended_dynamic_state`
=== Differences Relative to `VK_EXT_extended_dynamic_state`

All dynamic state enumerants and entry points defined by
`apiext:VK_EXT_extended_dynamic_state` are required in Vulkan 1.3.
There are no members in the slink:VkPhysicalDeviceVulkan13Features structure
corresponding to the slink:VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
structure.

=== Differences relative to `VK_EXT_extended_dynamic_state2`
=== Differences Relative to `VK_EXT_extended_dynamic_state2`

The optional dynamic state enumerants and entry points defined by
`apiext:VK_EXT_extended_dynamic_state2` for patch control points and logic
Expand All @@ -78,7 +78,7 @@ There are no members in the slink:VkPhysicalDeviceVulkan13Features structure
corresponding to the slink:VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
structure.

=== Differences relative to `VK_EXT_texel_buffer_alignment`
=== Differences Relative to `VK_EXT_texel_buffer_alignment`

The more specific alignment requirements defined by
slink:VkPhysicalDeviceTexelBufferAlignmentProperties are required in Vulkan
Expand All @@ -89,7 +89,7 @@ structure.
The pname:texelBufferAlignment feature is enabled if using a Vulkan 1.3
instance.

=== Differences relative to `VK_EXT_texture_compression_astc_hdr`
=== Differences Relative to `VK_EXT_texture_compression_astc_hdr`

If the `apiext:VK_EXT_texture_compression_astc_hdr` extension is not
supported, support for all formats defined by it are optional in Vulkan 1.3.
Expand All @@ -98,7 +98,7 @@ pname:textureCompressionASTC_HDR>> member of
slink:VkPhysicalDeviceVulkan13Features indicates whether a Vulkan 1.3
implementation supports these formats.

=== Differences relative to `VK_EXT_ycbcr_2plane_444_formats`
=== Differences Relative to `VK_EXT_ycbcr_2plane_444_formats`

If the `apiext:VK_EXT_ycbcr_2plane_444_formats` extension is not supported,
support for all formats defined by it are optional in Vulkan 1.3.
Expand Down Expand Up @@ -167,7 +167,7 @@ include::{promoted}/promoted_extensions_VK_VERSION_1_2.adoc[]
All differences in behavior between these extensions and the corresponding
Vulkan 1.2 functionality are summarized below.

=== Differences relative to `VK_KHR_8bit_storage`
=== Differences Relative to `VK_KHR_8bit_storage`

If the `apiext:VK_KHR_8bit_storage` extension is not supported, support for
the SPIR-V <<features-storageBuffer8BitAccess,
Expand All @@ -176,7 +176,7 @@ Support for this feature is defined by
slink:VkPhysicalDeviceVulkan12Features::pname:storageBuffer8BitAccess when
queried via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_draw_indirect_count`
=== Differences Relative to `VK_KHR_draw_indirect_count`

If the `apiext:VK_KHR_draw_indirect_count` extension is not supported,
support for the entry points flink:vkCmdDrawIndirectCount and
Expand All @@ -185,7 +185,7 @@ Support for this feature is defined by
slink:VkPhysicalDeviceVulkan12Features::pname:drawIndirectCount when queried
via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_sampler_mirror_clamp_to_edge`
=== Differences Relative to `VK_KHR_sampler_mirror_clamp_to_edge`

If the `apiext:VK_KHR_sampler_mirror_clamp_to_edge` extension is not
supported, support for the elink:VkSamplerAddressMode
Expand All @@ -194,7 +194,7 @@ Support for this feature is defined by
slink:VkPhysicalDeviceVulkan12Features::pname:samplerMirrorClampToEdge when
queried via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_EXT_descriptor_indexing`
=== Differences Relative to `VK_EXT_descriptor_indexing`

If the `apiext:VK_EXT_descriptor_indexing` extension is not supported,
support for the <<features-descriptorIndexing, pname:descriptorIndexing>>
Expand All @@ -203,7 +203,7 @@ Support for this feature is defined by
slink:VkPhysicalDeviceVulkan12Features::pname:descriptorIndexing when
queried via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_EXT_scalar_block_layout`
=== Differences Relative to `VK_EXT_scalar_block_layout`

If the `apiext:VK_EXT_scalar_block_layout` extension is not supported,
support for the <<features-scalarBlockLayout, pname:scalarBlockLayout>>
Expand All @@ -212,7 +212,7 @@ Support for this feature is defined by
slink:VkPhysicalDeviceVulkan12Features::pname:scalarBlockLayout when queried
via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_EXT_shader_viewport_index_layer`
=== Differences Relative to `VK_EXT_shader_viewport_index_layer`

The code:ShaderViewportIndexLayerEXT SPIR-V capability was replaced with the
code:ShaderViewportIndex and code:ShaderLayer capabilities.
Expand All @@ -225,7 +225,7 @@ slink:VkPhysicalDeviceVulkan12Features::pname:shaderOutputViewportIndex and
slink:VkPhysicalDeviceVulkan12Features::pname:shaderOutputLayer when queried
via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_buffer_device_address`
=== Differences Relative to `VK_KHR_buffer_device_address`

If the `apiext:VK_KHR_buffer_device_address` extension is not supported,
support for the <<features-bufferDeviceAddress, pname:bufferDeviceAddress>>
Expand All @@ -234,7 +234,7 @@ Support for this feature is defined by
slink:VkPhysicalDeviceVulkan12Features::pname:bufferDeviceAddress when
queried via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_shader_atomic_int64`
=== Differences Relative to `VK_KHR_shader_atomic_int64`

If the `apiext:VK_KHR_shader_atomic_int64` extension is not supported,
support for the <<features-shaderBufferInt64Atomics,
Expand All @@ -243,7 +243,7 @@ Support for this feature is defined by
slink:VkPhysicalDeviceVulkan12Features::pname:shaderBufferInt64Atomics when
queried via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_shader_float16_int8`
=== Differences Relative to `VK_KHR_shader_float16_int8`

If the `apiext:VK_KHR_shader_float16_int8` extension is not supported,
support for the <<features-shaderFloat16, pname:shaderFloat16>> and
Expand All @@ -253,7 +253,7 @@ slink:VkPhysicalDeviceVulkan12Features::pname:shaderFloat16 and
slink:VkPhysicalDeviceVulkan12Features::pname:shaderInt8 when queried via
flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_vulkan_memory_model`
=== Differences Relative to `VK_KHR_vulkan_memory_model`

If the `apiext:VK_KHR_vulkan_memory_model` extension is not supported,
support for the <<features-vulkanMemoryModel, pname:vulkanMemoryModel>>
Expand Down Expand Up @@ -350,7 +350,7 @@ include::{promoted}/promoted_extensions_VK_VERSION_1_1.adoc[]
All differences in behavior between these extensions and the corresponding
Vulkan 1.1 functionality are summarized below.

=== Differences relative to `VK_KHR_16bit_storage`
=== Differences Relative to `VK_KHR_16bit_storage`

If the `apiext:VK_KHR_16bit_storage` extension is not supported, support for
the <<features-storageBuffer16BitAccess, pname:storageBuffer16BitAccess>>
Expand All @@ -362,7 +362,7 @@ or slink:VkPhysicalDeviceVulkan11Features::pname:storageBuffer16BitAccess
endif::VK_VERSION_1_2[]
when queried via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_sampler_ycbcr_conversion`
=== Differences Relative to `VK_KHR_sampler_ycbcr_conversion`

If the `apiext:VK_KHR_sampler_ycbcr_conversion` extension is not supported,
support for the <<features-samplerYcbcrConversion,
Expand All @@ -374,7 +374,7 @@ or slink:VkPhysicalDeviceVulkan11Features::pname:samplerYcbcrConversion
endif::VK_VERSION_1_2[]
when queried via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_shader_draw_parameters`
=== Differences Relative to `VK_KHR_shader_draw_parameters`

If the `apiext:VK_KHR_shader_draw_parameters` extension is not supported,
support for the
Expand All @@ -387,7 +387,7 @@ or slink:VkPhysicalDeviceVulkan11Features::pname:shaderDrawParameters
endif::VK_VERSION_1_2[]
when queried via flink:vkGetPhysicalDeviceFeatures2.

=== Differences relative to `VK_KHR_variable_pointers`
=== Differences Relative to `VK_KHR_variable_pointers`

If the `apiext:VK_KHR_variable_pointers` extension is not supported, support
for the <<features-variablePointersStorageBuffer,
Expand Down
2 changes: 1 addition & 1 deletion appendices/vulkanscdeviations.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

[appendix]
[[vulkansc-deviations]]
= Vulkan SC Deviations from Base Vulkan
= Vulkan SC Deviations From Base Vulkan

== Additions
The following extensions have been added to Vulkan SC:
Expand Down
Loading

0 comments on commit bb67834

Please sign in to comment.