Skip to content

Commit

Permalink
Change log for June 28, 2024 Vulkan 1.3.289 spec update:
Browse files Browse the repository at this point in the history
Internal Issues

  * Add missing zero binding vkUpdateDescriptorSets VU (internal issue
    3890).
  * Remove vkCmdBuildAccelerationStructuresKHR VU 03770 (and variants),
    which are not needed by implementations (internal issue 3896).
  * Fix extensionmetadocgenerator so missing APIs from some extension
    interactions are shown in the generated interfaces section (internal
    issue 3907).
  * Fix typo in VkVideoEncodeH265RateControlInfoKHR (temporalLayerCount ->
    subLayerCount) (internal MR 6712).
  * Fix typo in VK_QCOM_fragment_density_map_offset regarding
    fragmentDensityMapOffset feature (internal MR 6727).
  * Improve and combine many vkCmdDraw VUs to properly test in the presence
    of dynamic state that must have been set, and not subsequently
    invalidated. This batch of changes primarily affects dynamic state with
    graphics pipelines (internal MRs 6345, 6653, 6654, 6683, 6721, 6722,
    6723, 6724).
  * Add vkCmdSetDepthBoundsTestEnable VU for depthBounds feature (internal
    MR 6715).
  * Mark VK_KHR_shader_relaxed_extended_instruction as ratified, which was
    overlooked when initially released (internal MR 6717).
  * Clarify interactions between the VK_ARM_render_pass_striped extension
    and render pass suspend resume (internal MR 6734).
  * Allow VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT to be used with
    VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
    reserving a descriptor set slot when using DebugPrintF in the validation
    layers (internal MR 6744).
  * Update the bundled KaTeX distribution to 0.16.10 (internal MR 6746).

New Extensions

  * VK_KHR_maintenance7
  • Loading branch information
oddhack committed Jun 28, 2024
1 parent bf45707 commit 7bb606e
Show file tree
Hide file tree
Showing 128 changed files with 18,743 additions and 14,491 deletions.
5 changes: 2 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
# Copyright 2018-2024 The Khronos Group Inc.
#
# SPDX-License-Identifier: Apache-2.0

# Gitlab CI file for vulkan spec and header generation

# All stages use the same Docker image, so there are no prerequisites
# We now refer to the container by its SHA instead of the name, to prevent
# Refer to the container by its SHA instead of the name, to prevent
# caching problems when updating the image.
# image: khronosgroup/docker-images:asciidoctor-spec
image: khronosgroup/docker-images@sha256:42123ba13792c4e809d037b69152c2230ad97fbf43b677338075ab9c928ab6ed
image: khronosgroup/docker-images@sha256:91a1b62399f9804e17110e89d85d62e90bc8d2ad7b94a329bee87784158368a9

# Specify which gitlab runner to use
default:
Expand Down
38 changes: 38 additions & 0 deletions ChangeLog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,44 @@ appears frequently in the change log.

'''

Change log for June 28, 2024 Vulkan 1.3.289 spec update:

Internal Issues

* Add missing zero binding vkUpdateDescriptorSets VU (internal issue
3890).
* Remove vkCmdBuildAccelerationStructuresKHR VU 03770 (and variants),
which are not needed by implementations (internal issue 3896).
* Fix extensionmetadocgenerator so missing APIs from some extension
interactions are shown in the generated interfaces section (internal
issue 3907).
* Fix typo in VkVideoEncodeH265RateControlInfoKHR (temporalLayerCount ->
subLayerCount) (internal MR 6712).
* Fix typo in VK_QCOM_fragment_density_map_offset regarding
fragmentDensityMapOffset feature (internal MR 6727).
* Improve and combine many vkCmdDraw VUs to properly test in the presence
of dynamic state that must have been set, and not subsequently
invalidated. This batch of changes primarily affects dynamic state with
graphics pipelines (internal MRs 6345, 6653, 6654, 6683, 6721, 6722,
6723, 6724).
* Add vkCmdSetDepthBoundsTestEnable VU for depthBounds feature (internal
MR 6715).
* Mark VK_KHR_shader_relaxed_extended_instruction as ratified, which was
overlooked when initially released (internal MR 6717).
* Clarify interactions between the VK_ARM_render_pass_striped extension
and render pass suspend resume (internal MR 6734).
* Allow VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT to be used with
VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
reserving a descriptor set slot when using DebugPrintF in the validation
layers (internal MR 6744).
* Update the bundled KaTeX distribution to 0.16.10 (internal MR 6746).

New Extensions

* VK_KHR_maintenance7

'''

Change log for June 14, 2024 Vulkan 1.3.288 spec update:

Public Issues
Expand Down
36 changes: 36 additions & 0 deletions ChangeLogSC.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,42 @@ with any public pull requests that have been accepted.

-----------------------------------------------------
Change log for June 17, 2023 Vulkan SC 1.0.15 spec update:
* update release number to 15 for this update and reflow spec language
Public issues:
* None
Internal issues:
* Merge VK 1.3.274 tag to sc_main (!362)
* Merge 2024 copyright fixes to sc_main (!365)
* Update memory reservation common validity to support extension object
types (!363)
* Merge VK 1.3.278 tag to sc_main (!369)
* Make pipeline cache data alignment requirements
implementation-specific (#212/!366)
* Include shader module VUs for completeness (#214/!368)
* Merge VK 1.3.281 tag to sc_main (!370)
* Add extension processing script (!367)
* Enable winrt acquire display extension for Vulkan SC (!372)
* Merge VK 1.3.286 tag to sc_main (!375)
* Record new Vulkan SC ratified extensions (!376)
* Various fixes for auto-generated vulkan_json_parser.hpp (!374)
New Extensions:
* apiext:VK_NV_acquire_winrt_display (!372)
* apiext:VK_KHR_calibrated_timestamps (replaces VK_EXT_calibrated_timestamps)
* apiext:VK_KHR_global_priority (replaces VK_EXT_global_priority)
* apiext:VK_KHR_vertex_attribute_divisor (replaces VK_EXT_vertex_attribute_divisor)
* apiext:VK_KHR_index_type_uint8
* apiext:VK_KHR_line_rasterization
-----------------------------------------------------

Change log for December 15, 2023 Vulkan SC 1.0.14 spec update:

* update release number to 14 for this update and reflow spec language
Expand Down
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -138,12 +138,12 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 288
PATCHVERSION = 289
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
VKSPECREVISION := 1.2.$(PATCHVERSION)
SCPATCHVERSION = 14
SCPATCHVERSION = 15
SPECREVISION = 1.0.$(SCPATCHVERSION)
BASEOPTS = -a baserevnumber="$(VKSPECREVISION)"
else
Expand Down Expand Up @@ -512,11 +512,11 @@ check-consistency:
check-undefined:
$(SCRIPTS)/ci/check_undefined

# Look for '.txt' files, which should almost all be .adoc now
CHECK_TXTFILES = find . -name '*.txt' | egrep -v -E -f $(ROOTDIR)/config/CI/txt-files-allowed
# Look for '.txt' and '.asciidoc' files, which should almost all be .adoc now
CHECK_TXTFILES = find . -name '*.txt' -o -name '*.asciidoc' | egrep -v -E -f $(ROOTDIR)/config/CI/txt-files-allowed
check-txtfiles:
if test `$(CHECK_TXTFILES) | wc -l` != 0 ; then \
echo "*.txt files found that are not allowed (use .adoc):" ; \
echo "*.txt and/or .asciidoc files found that are not allowed (use .adoc):" ; \
$(CHECK_TXTFILES) ; \
exit 1 ; \
fi
Expand Down
65 changes: 65 additions & 0 deletions appendices/VK_KHR_maintenance7.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// Copyright 2024 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
2024-01-30

*Interactions and External Dependencies*::

*Contributors*::
- Mike Blumenkrantz, Valve
- Hans-Kristian Arntzen, Valve
- Pan Gao, Huawei
- Tobias Hector, AMD
- Jon Leech, Khronos
- Daniel Story, Nintendo
- Shahbaz Youssefi, Google
- Yiwei Zhang, Google
- Matthew Netsch, Qualcomm

=== Description

apiext:VK_KHR_maintenance7 adds a collection of minor features, none of
which would warrant an entire extension of their own.

The proposed new features are as follows:

* Add a property query to determine if a framebuffer writes to depth or
stencil aspect does not trigger a write access in the sibling aspect.
For example, this allows sampling stencil aspect as a texture while
rendering to the sibling depth attachment and vice-versa given
appropriate image layouts.
* Add a way to query information regarding the underlying devices in
environments where the Vulkan implementation is provided through layered
implementations.
For example, running on Mesa/Venus, driver ID is returned as
ename:VK_DRIVER_ID_MESA_VENUS, but it can be necessary to know what the
real driver under the hood is.
The new slink:VkPhysicalDeviceLayeredApiPropertiesKHR structure can be
used to gather information regarding layers underneath the top-level
physical device.
* Promote ename:VK_RENDERING_CONTENTS_INLINE_BIT_EXT and
ename:VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT to
KHR
* Add a limit to report the maximum total count of dynamic uniform buffers
and dynamic storage buffers that can be included in a pipeline layout.
* Require that for an unsigned integer query, the 32-bit result value
must: be equal to the 32 least significant bits of the equivalent 64-bit
result value.
* Add query for robust access support when using fragment shading rate
attachments

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

=== Issues

None.

=== Version History

* Revision 1, 2024-01-30 (Jon Leech)
** Initial revision
5 changes: 4 additions & 1 deletion appendices/VK_QCOM_fragment_density_map_offset.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ include::{generated}/meta/{refprefix}VK_QCOM_fragment_density_map_offset.adoc[]
=== Other Extension Metadata

*Last Modified Date*::
2021-09-03
2024-06-17
*Contributors*::
- Matthew Netsch, Qualcomm Technologies, Inc.
- Jonathan Wicks, Qualcomm Technologies, Inc.
- Jonathan Tinkham, Qualcomm Technologies, Inc.
- Jeff Leger, Qualcomm Technologies, Inc.
- Manan Katwala, Qualcomm Technologies, Inc.

=== Description

Expand Down Expand Up @@ -96,6 +97,8 @@ endif::isrefpage[]

=== Version History

* Revision 2, 2024-06-17 (Matthew Netsch)
** Fix typo in spec regarding fragmentDensityMapOffset feature
* Revision 1, 2021-09-03 (Matthew Netsch)
** Initial version

3 changes: 2 additions & 1 deletion chapters/VK_EXT_validation_features.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ include::{generated}/api/structs/VkValidationFeaturesEXT.adoc[]
If the pname:pEnabledValidationFeatures array contains
ename:VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
then it must: also contain
ename:VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT
ename:VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT or
ename:VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT
* [[VUID-VkValidationFeaturesEXT-pEnabledValidationFeatures-02968]]
If the pname:pEnabledValidationFeatures array contains
ename:VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT, then it must: not
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
:refpage: vkCreateSharedSwapchainsKHR
:objectnameplural: swapchains
:objectnamecamelcase: swapchain
:objectnamestruct: VkDeviceObjectReservationCreateInfo
:objectcount: pname:swapchainCount

When the `apiext:VK_KHR_display_swapchain` extension is enabled, multiple
Expand Down
1 change: 1 addition & 0 deletions chapters/VK_KHR_swapchain/wsi.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ endif::VK_KHR_shared_presentable_image[]
:refpage: vkCreateSwapchainKHR
:objectnameplural: swapchains
:objectnamecamelcase: swapchain
:objectnamestruct: VkDeviceObjectReservationCreateInfo
:objectcount: 1

To create a swapchain, call:
Expand Down
10 changes: 9 additions & 1 deletion chapters/VK_NV_acquire_winrt_display/acquire_winrt_display.adoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
// Copyright (c) 2020 NVIDIA Corporation
// Copyright 2020-2024 NVIDIA Corporation
//
// SPDX-License-Identifier: CC-BY-4.0

[open,refpage='vkAcquireWinrtDisplayNV',desc='Acquire access to a VkDisplayKHR',type='protos']
--
:refpage: vkAcquireWinrtDisplayNV

To acquire permission to directly access a display in Vulkan on Windows 10,
call:

Expand Down Expand Up @@ -52,11 +54,15 @@ flink:vkAcquireWinrtDisplayNV does not itself cause DWM to release a
display; this action must be performed outside of Vulkan.
====

include::{chapters}/commonvalidity/no_dynamic_allocations_common.adoc[]

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

[open,refpage='vkGetWinrtDisplayNV',desc='Query the VkDisplayKHR corresponding to a WinRT DisplayTarget',type='protos']
--
:refpage: vkGetWinrtDisplayNV

When acquiring displays on Windows 10, an application may also wish to
enumerate and identify them using a native handle rather than a
sname:VkDisplayKHR handle.
Expand Down Expand Up @@ -86,5 +92,7 @@ If there is no slink:VkDisplayKHR corresponding to pname:deviceRelativeId on
pname:physicalDevice, dlink:VK_NULL_HANDLE must: be returned in
pname:pDisplay.

include::{chapters}/commonvalidity/no_dynamic_allocations_common.adoc[]

include::{generated}/validity/protos/vkGetWinrtDisplayNV.adoc[]
--
15 changes: 12 additions & 3 deletions chapters/cmdbuffers.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ include::{generated}/api/handles/VkCommandPool.adoc[]
:refpage: vkCreateCommandPool
:objectnameplural: command pools
:objectnamecamelcase: commandPool
:objectnamestruct: VkDeviceObjectReservationCreateInfo
:objectcount: 1

To create a command pool, call:
Expand Down Expand Up @@ -2080,7 +2081,8 @@ endif::VK_KHR_device_group_creation,VK_VERSION_1_1[]
ifdef::VK_ARM_render_pass_striped[]
* [[VUID-VkCommandBufferSubmitInfo-commandBuffer-09445]]
If any render pass instance in pname:commandBuffer was recorded with a
slink:VkRenderPassStripeBeginInfoARM structure in its pNext chain, a
slink:VkRenderPassStripeBeginInfoARM structure in its pNext chain and
did not specify the ename:VK_RENDERING_RESUMING_BIT flag, a
slink:VkRenderPassStripeSubmitInfoARM must: be included in the
pname:pNext chain
* [[VUID-VkCommandBufferSubmitInfo-pNext-09446]]
Expand All @@ -2089,7 +2091,8 @@ ifdef::VK_ARM_render_pass_striped[]
slink:VkRenderPassStripeSubmitInfoARM::pname:stripeSemaphoreInfoCount
must: be equal to the sum of the
slink:VkRenderPassStripeBeginInfoARM::pname:stripeInfoCount parameters
provided to render pass instances recorded in pname:commandBuffer
provided to render pass instances recorded in pname:commandBuffer that
did not specify the ename:VK_RENDERING_RESUMING_BIT flag
endif::VK_ARM_render_pass_striped[]
****

Expand Down Expand Up @@ -2128,6 +2131,12 @@ all views in the view mask.
In a render pass instance with pname:layerCount greater than 1, the stripe
includes all layers.

Render pass instances that specify the ename:VK_RENDERING_RESUMING_BIT will
not have any elements of pname:pStripeSemaphoreInfos mapped to them.
Instead, for suspending and resuming render pass instances, this mapping is
done for the first suspending render pass instance, and the per-stripe
semaphores are only signaled for the last resuming render pass instance.

.Valid Usage
****
* [[VUID-VkRenderPassStripeSubmitInfoARM-semaphore-09447]]
Expand Down Expand Up @@ -2887,7 +2896,7 @@ ifdef::VK_EXT_nested_command_buffer[, or ename:VK_SUBPASS_CONTENTS_INLINE_AND_SE
instance, the pname:contents parameter of the last call to
flink:vkCmdNextSubpass must: have been set to
ename:VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
ifdef::VK_EXT_nested_command_buffer[, or ename:VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT]
ifdef::VK_EXT_nested_command_buffer,VK_KHR_maintenance7[, or ename:VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR]
* [[VUID-vkCmdExecuteCommands-pCommandBuffers-06019]]
If fname:vkCmdExecuteCommands is being called within a render pass
instance begun with flink:vkCmdBeginRenderPass, each element of
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,15 +200,6 @@
sname:VkAccelerationStructureBuildRangeInfoKHR structure must: have the
same value which was specified when pname:srcAccelerationStructure was
last built
* [[VUID-{refpage}-firstVertex-03770]]
For each element of pname:pInfos, if its pname:mode member is
ename:VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each
sname:VkAccelerationStructureGeometryKHR structure referred to by its
pname:pGeometries or pname:ppGeometries members, if the geometry uses
indices, the pname:firstVertex member of its corresponding
sname:VkAccelerationStructureBuildRangeInfoKHR structure must: have the
same value which was specified when pname:srcAccelerationStructure was
last built
* [[VUID-{refpage}-pInfos-03801]]
For each element of pname:pInfos[i].pname:pGeometries or
pname:pInfos[i].pname:ppGeometries with a pname:geometryType of
Expand Down
Loading

0 comments on commit 7bb606e

Please sign in to comment.