Skip to content

Commit

Permalink
Change log for February 16, 2024 Vulkan 1.3.278 spec update:
Browse files Browse the repository at this point in the history
Public Issues

  * Restore orphaned vkQueuePresentKHR text to proper locations (public
    issue 2008).
  * Make ename:VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT into a typo alias of
    ename:VK_INCOMPATIBLE_SHADER_BINARY_EXT, since this is actually a
    success code, not an error code (public issue 2295).

Internal Issues

  * Remove VK_INCOMPLETE success code in
    vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, and tag
    pMaxWorkgroupSize as a pointer to a single returned structure, not an
    array (internal issue 3715).
  * Add missing `len` XML attributes for structure <member> tags which are
    static arrays, but may not use the entire array (internal issue 3743).
  * Fix VkPhysicalDeviceSurfaceInfo2KHR::surface VU 07919 and set
    `noautovalidity` on corresponding XML member (internal MR 6429).
  * Move sections in generated extension appendices down one heading level
    in spec body (internal MR 6436).
  * Remove `returnedonly` XML attribute from VkPhysicalDeviceSurfaceInfo2KHR
    (internal MR 6436).
  * Add `returnedonly` XML attribute to VkLatencyTimingsFrameReportNV
    (internal MR 6463) and slink:VkPerformanceValueINTEL (internal MR 6461).
  * Fix typo in vkCopyAccelerationStructureKHR VU 03728 (internal MR 6457).
  * Remove invalid subpassLoadMS operation from description of
    vkCmdSubpassShadingHUAWEI (internal MR 6454).
  * Remove "`equal to`" clause from VU 09515 (internal MR 6458).
  * Rearrange some function markup and add missing parameter descriptions
    for vkCmdSetPerformanceStreamMarkerINTEL (internal issue 3785).
  * Remove non-sensical VkGraphicsPipelineCreateInfo VUs 07717 and 07719
    (internal MR 6468).
  * Fix various 'a'/'an' typos (internal MR 6470).

New Extensions

  * VK_EXT_map_memory_placed
  * VK_NV_shader_atomic_float16_vector
  • Loading branch information
oddhack committed Feb 16, 2024
1 parent 0c35555 commit 2e3aca8
Show file tree
Hide file tree
Showing 58 changed files with 731 additions and 502 deletions.
2 changes: 2 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
Faith Ekstrand <[email protected]> <[email protected]>
Faith Ekstrand <[email protected]> <[email protected]>
Faith Ekstrand <[email protected]> <[email protected]>
Lina Versace <[email protected]> <[email protected]>
Lina Versace <[email protected]> <[email protected]>
Rylie Pavlik <[email protected]> <[email protected]>
43 changes: 43 additions & 0 deletions ChangeLog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,49 @@ appears frequently in the change log.

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

Change log for February 16, 2024 Vulkan 1.3.278 spec update:

Public Issues

* Restore orphaned vkQueuePresentKHR text to proper locations (public
issue 2008).
* Make ename:VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT into a typo alias of
ename:VK_INCOMPATIBLE_SHADER_BINARY_EXT, since this is actually a
success code, not an error code (public issue 2295).

Internal Issues

* Remove VK_INCOMPLETE success code in
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, and tag
pMaxWorkgroupSize as a pointer to a single returned structure, not an
array (internal issue 3715).
* Add missing `len` XML attributes for structure <member> tags which are
static arrays, but may not use the entire array (internal issue 3743).
* Fix VkPhysicalDeviceSurfaceInfo2KHR::surface VU 07919 and set
`noautovalidity` on corresponding XML member (internal MR 6429).
* Move sections in generated extension appendices down one heading level
in spec body (internal MR 6436).
* Remove `returnedonly` XML attribute from VkPhysicalDeviceSurfaceInfo2KHR
(internal MR 6436).
* Add `returnedonly` XML attribute to VkLatencyTimingsFrameReportNV
(internal MR 6463) and slink:VkPerformanceValueINTEL (internal MR 6461).
* Fix typo in vkCopyAccelerationStructureKHR VU 03728 (internal MR 6457).
* Remove invalid subpassLoadMS operation from description of
vkCmdSubpassShadingHUAWEI (internal MR 6454).
* Remove "`equal to`" clause from VU 09515 (internal MR 6458).
* Rearrange some function markup and add missing parameter descriptions
for vkCmdSetPerformanceStreamMarkerINTEL (internal issue 3785).
* Remove non-sensical VkGraphicsPipelineCreateInfo VUs 07717 and 07719
(internal MR 6468).
* Fix various 'a'/'an' typos (internal MR 6470).

New Extensions

* VK_EXT_map_memory_placed
* VK_NV_shader_atomic_float16_vector

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

Change log for February 1, 2024 Vulkan 1.3.277 spec update:

Internal Issues
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 277
PATCHVERSION = 278
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
Expand Down
7 changes: 3 additions & 4 deletions appendices/VK_EXT_map_memory_placed.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Copyright 2022-2023 The Khronos Group Inc.
//
// Copyright 2022-2024 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_EXT_map_memory_placed.adoc[]
Expand All @@ -22,8 +21,8 @@ include::{generated}/meta/{refprefix}VK_EXT_map_memory_placed.adoc[]

=== Description

This extension allows a client to request that flink:vkMapMemory2KHR
attempt to place the memory map at a particular virtual address.
This extension allows a client to request that flink:vkMapMemory2KHR attempt
to place the memory map at a particular virtual address.

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

Expand Down
2 changes: 1 addition & 1 deletion appendices/VK_EXT_shader_subgroup_ballot.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ This extension adds support for the following SPIR-V extension in Vulkan:

This extension provides the ability for a group of invocations, which
execute in parallel, to do limited forms of cross-invocation communication
via a group broadcast of a invocation value, or broadcast of a bitarray
via a group broadcast of an invocation value, or broadcast of a bit array
representing a predicate value from each invocation in the group.

This extension provides access to a number of additional built-in shader
Expand Down
2 changes: 1 addition & 1 deletion appendices/VK_INTEL_performance_query.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ include::{generated}/meta/{refprefix}VK_INTEL_performance_query.adoc[]
=== Description

This extension allows an application to capture performance data to be
interpreted by a external application or library.
interpreted by an external application or library.

Such a library is available at : https://github.com/intel/metrics-discovery

Expand Down
39 changes: 39 additions & 0 deletions appendices/VK_NV_shader_atomic_float16_vector.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// Copyright 2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_NV_shader_atomic_float16_vector.adoc[]

=== Other Extension Metadata

*Last Modified Date*::
2024-02-03
*IP Status*::
No known IP claims.
*Interactions and External Dependencies*::
- This extension provides API support for
https://registry.khronos.org/OpenGL/extensions/NV/NV_shader_atomic_fp16_vector.txt[`GL_NV_shader_atomic_fp16_vector`]
*Contributors*::
- Jeff Bolz, NVIDIA

=== Description

This extension allows a shader to perform atomic add, min, max, and exchange
operations on 2- and 4-component vectors of float16.
Buffer, workgroup, and image storage classes are all supported.

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

=== Issues

None.

=== New SPIR-V Capabilities

* <<spirvenv-capabilities-table-AtomicFloat16VectorNV,
code:AtomicFloat16VectorNV>>

=== Version History

* Revision 1, 2024-02-03 (Jeff Bolz)
** Internal revisions
100 changes: 43 additions & 57 deletions appendices/spirvenv.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -868,44 +868,7 @@ ifdef::VK_KHR_shader_atomic_int64[]
must: be enabled for 64-bit integer atomic operations to be supported on
a _Pointer_ with a {StorageClass} of code:Workgroup
endif::VK_KHR_shader_atomic_int64[]
ifdef::VK_EXT_shader_atomic_float[]
ifndef::VK_EXT_shader_atomic_float2[]
* [[VUID-{refpage}-None-06280]]
<<features-shaderBufferFloat32Atomics,
pname:shaderBufferFloat32Atomics>>, or
<<features-shaderBufferFloat32AtomicAdd,
pname:shaderBufferFloat32AtomicAdd>>, or
<<features-shaderBufferFloat64Atomics,
pname:shaderBufferFloat64Atomics>>, or
<<features-shaderBufferFloat64AtomicAdd,
pname:shaderBufferFloat64AtomicAdd>> must: be enabled for floating-point
atomic operations to be supported on a _Pointer_ with a {StorageClass}
of code:StorageBuffer
* [[VUID-{refpage}-None-06281]]
<<features-shaderSharedFloat32Atomics,
pname:shaderSharedFloat32Atomics>>, or
<<features-shaderSharedFloat32AtomicAdd,
pname:shaderSharedFloat32AtomicAdd>>, or
<<features-shaderSharedFloat64Atomics,
pname:shaderSharedFloat64Atomics>>, or
<<features-shaderSharedFloat64AtomicAdd,
pname:shaderSharedFloat64AtomicAdd>> must: be enabled for floating-point
atomic operations to be supported on a _Pointer_ with a {StorageClass}
of code:Workgroup
* [[VUID-{refpage}-None-06282]]
<<features-shaderImageFloat32Atomics, pname:shaderImageFloat32Atomics>>
or <<features-shaderImageFloat32AtomicAdd,
pname:shaderImageFloat32AtomicAdd>> must: be enabled for 32-bit
floating-point atomic operations to be supported on a _Pointer_ with a
{StorageClass} of code:Image
* [[VUID-{refpage}-None-06283]]
<<features-sparseImageFloat32Atomics, pname:sparseImageFloat32Atomics>>
or <<features-sparseImageFloat32AtomicAdd,
pname:sparseImageFloat32AtomicAdd>> must: be enabled for 32-bit
floating-point atomics to be supported on sparse images
endif::VK_EXT_shader_atomic_float2[]
endif::VK_EXT_shader_atomic_float[]
ifdef::VK_EXT_shader_atomic_float2[]
ifdef::VK_EXT_shader_atomic_float,VK_EXT_shader_atomic_float2[]
* [[VUID-{refpage}-None-06284]]
<<features-shaderBufferFloat32Atomics,
pname:shaderBufferFloat32Atomics>>, or
Expand All @@ -914,8 +877,9 @@ ifdef::VK_EXT_shader_atomic_float2[]
<<features-shaderBufferFloat64Atomics,
pname:shaderBufferFloat64Atomics>>, or
<<features-shaderBufferFloat64AtomicAdd,
pname:shaderBufferFloat64AtomicAdd>>, or
<<features-shaderBufferFloat16AtomicMinMax,
pname:shaderBufferFloat64AtomicAdd>>,
ifdef::VK_EXT_shader_atomic_float2[]
or <<features-shaderBufferFloat16AtomicMinMax,
pname:shaderBufferFloat16Atomics>>, or
<<features-shaderBufferFloat16AtomicMinMax,
pname:shaderBufferFloat16AtomicAdd>>, or
Expand All @@ -924,9 +888,14 @@ ifdef::VK_EXT_shader_atomic_float2[]
<<features-shaderBufferFloat32AtomicMinMax,
pname:shaderBufferFloat32AtomicMinMax>>, or
<<features-shaderBufferFloat64AtomicMinMax,
pname:shaderBufferFloat64AtomicMinMax>> must: be enabled for
floating-point atomic operations to be supported on a _Pointer_ with a
{StorageClass} of code:StorageBuffer
pname:shaderBufferFloat64AtomicMinMax>>,
endif::VK_EXT_shader_atomic_float2[]
ifdef::VK_NV_shader_atomic_float16_vector[]
or <<features-shaderFloat16VectorAtomics,
pname:shaderFloat16VectorAtomics>>
endif::VK_NV_shader_atomic_float16_vector[]
must: be enabled for floating-point atomic operations to be supported on
a _Pointer_ with a {StorageClass} of code:StorageBuffer
* [[VUID-{refpage}-None-06285]]
<<features-shaderSharedFloat32Atomics,
pname:shaderSharedFloat32Atomics>>, or
Expand All @@ -935,8 +904,9 @@ ifdef::VK_EXT_shader_atomic_float2[]
<<features-shaderSharedFloat64Atomics,
pname:shaderSharedFloat64Atomics>>, or
<<features-shaderSharedFloat64AtomicAdd,
pname:shaderSharedFloat64AtomicAdd>>, or
<<features-shaderBufferFloat16AtomicMinMax,
pname:shaderSharedFloat64AtomicAdd>>,
ifdef::VK_EXT_shader_atomic_float2[]
or <<features-shaderBufferFloat16AtomicMinMax,
pname:shaderSharedFloat16Atomics>>, or
<<features-shaderBufferFloat16AtomicMinMax,
pname:shaderSharedFloat16AtomicAdd>>, or
Expand All @@ -945,25 +915,35 @@ ifdef::VK_EXT_shader_atomic_float2[]
<<features-shaderSharedFloat32AtomicMinMax,
pname:shaderSharedFloat32AtomicMinMax>>, or
<<features-shaderSharedFloat64AtomicMinMax,
pname:shaderSharedFloat64AtomicMinMax>> must: be enabled for
floating-point atomic operations to be supported on a _Pointer_ with a
{StorageClass} of code:Workgroup
pname:shaderSharedFloat64AtomicMinMax>>,
endif::VK_EXT_shader_atomic_float2[]
ifdef::VK_NV_shader_atomic_float16_vector[]
or <<features-shaderFloat16VectorAtomics,
pname:shaderFloat16VectorAtomics>>,
endif::VK_NV_shader_atomic_float16_vector[]
must: be enabled for floating-point atomic operations to be supported on
a _Pointer_ with a {StorageClass} of code:Workgroup
* [[VUID-{refpage}-None-06286]]
<<features-shaderImageFloat32Atomics, pname:shaderImageFloat32Atomics>>,
or <<features-shaderImageFloat32AtomicAdd,
pname:shaderImageFloat32AtomicAdd>>, or
<<features-shaderImageFloat32AtomicMinMax,
pname:shaderImageFloat32AtomicMinMax>> must: be enabled for 32-bit
floating-point atomic operations to be supported on a _Pointer_ with a
{StorageClass} of code:Image
pname:shaderImageFloat32AtomicAdd>>,
ifdef::VK_EXT_shader_atomic_float2[]
or <<features-shaderImageFloat32AtomicMinMax,
pname:shaderImageFloat32AtomicMinMax>>,
endif::VK_EXT_shader_atomic_float2[]
must: be enabled for 32-bit floating-point atomic operations to be
supported on a _Pointer_ with a {StorageClass} of code:Image
* [[VUID-{refpage}-None-06287]]
<<features-sparseImageFloat32Atomics, pname:sparseImageFloat32Atomics>>,
or <<features-sparseImageFloat32AtomicAdd,
pname:sparseImageFloat32AtomicAdd>>, or
<<features-sparseImageFloat32AtomicMinMax,
pname:sparseImageFloat32AtomicMinMax>> must: be enabled for 32-bit
floating-point atomics to be supported on sparse images
pname:sparseImageFloat32AtomicAdd>>,
ifdef::VK_EXT_shader_atomic_float2[]
or <<features-sparseImageFloat32AtomicMinMax,
pname:sparseImageFloat32AtomicMinMax>>,
endif::VK_EXT_shader_atomic_float2[]
must: be enabled for 32-bit floating-point atomics to be supported on
sparse images
endif::VK_EXT_shader_atomic_float,VK_EXT_shader_atomic_float2[]
ifdef::VK_EXT_shader_image_atomic_int64[]
* [[VUID-{refpage}-None-06288]]
<<features-shaderImageInt64Atomics, pname:shaderImageInt64Atomics>>
Expand Down Expand Up @@ -1520,6 +1500,12 @@ ifdef::VK_EXT_shader_atomic_float2[]
pname:shaderSharedFloat64AtomicMinMax>>, must: be enabled for 64-bit
floating point atomic operations
endif::VK_EXT_shader_atomic_float2[]
ifdef::VK_NV_shader_atomic_float16_vector[]
* [[VUID-{refpage}-shaderFloat16VectorAtomics-09581]]
<<features-shaderFloat16VectorAtomics,pname:shaderFloat16VectorAtomics>>,
must: be enabled for 16-bit floating-point, 2- and 4-component vector
atomic operations to be supported
endif::VK_NV_shader_atomic_float16_vector[]
* [[VUID-{refpage}-NonWritable-06340]]
If <<features-fragmentStoresAndAtomics, pname:fragmentStoresAndAtomics>>
is not enabled, then all storage image, storage texel buffer, and
Expand Down
6 changes: 6 additions & 0 deletions chapters/VK_INTEL_performance_query/queries.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,12 @@ back a particular draw call with a particular performance data item.

include::{generated}/api/protos/vkCmdSetPerformanceStreamMarkerINTEL.adoc[]

* pname:commandBuffer is a slink:VkCommandBuffer into which a stream
marker is added.
* pname:pMarkerInfo is a pointer to a
slink:VkPerformanceStreamMarkerInfoINTEL structure describing the marker
to insert.

include::{generated}/validity/protos/vkCmdSetPerformanceStreamMarkerINTEL.adoc[]
--

Expand Down
3 changes: 2 additions & 1 deletion chapters/VK_KHR_surface/wsi.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -541,8 +541,9 @@ ifdef::VK_KHR_win32_surface+VK_EXT_full_screen_exclusive[]
included in the pname:pNext chain
endif::VK_KHR_win32_surface+VK_EXT_full_screen_exclusive[]
* [[VUID-VkPhysicalDeviceSurfaceInfo2KHR-surface-07919]]
If surface is not VK_NULL_HANDLE,
ifdef::VK_GOOGLE_surfaceless_query[]
If the `apiext:VK_GOOGLE_surfaceless_query` extension is not enabled,
and the `apiext:VK_GOOGLE_surfaceless_query` extension is not enabled,
endif::VK_GOOGLE_surfaceless_query[]
pname:surface must: be a valid slink:VkSurfaceKHR handle
****
Expand Down
Loading

0 comments on commit 2e3aca8

Please sign in to comment.