Skip to content

Commit

Permalink
Change log for September 8, 2023 Vulkan 1.3.264 spec update:
Browse files Browse the repository at this point in the history
Github Issues

  * Create Roadmap Feedback issue template (github PR 2207).

Internal Issues

  * Fix ename:VK_GEOMETRY_OPAQUE_BIT_KHR flag reference for
    <<ray-opacity-micromap, Ray Opacity Micromap>> (internal issue 3337).
  * Clarify slink:VkImageMemoryBarrier color format VU (internal issue
    3606).
  * Collapse apiext:VK_EXT_shader_tile_image pipeline barrier common VUs
    08718 and 06191 (internal MR 6065).
  * Use consistent language to describe multi-planar aspect masks for some
    existing VUs (internal MR 6072).
  * Consolidate VUs in the <<commandbuffers, Command Buffers>> chapter
    (internal MR 6114).

New Extensions

  * apiext:VK_EXT_frame_boundary
  * apiext:VK_MSFT_layered_driver
  • Loading branch information
oddhack committed Sep 8, 2023
1 parent 8ad7668 commit 3d25cd9
Show file tree
Hide file tree
Showing 30 changed files with 729 additions and 229 deletions.
28 changes: 27 additions & 1 deletion ChangeLog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,32 @@ appears frequently in the change log.

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

Change log for September 8, 2023 Vulkan 1.3.264 spec update:

Github Issues

* Create Roadmap Feedback issue template (github PR 2207).

Internal Issues

* Fix ename:VK_GEOMETRY_OPAQUE_BIT_KHR flag reference for
<<ray-opacity-micromap, Ray Opacity Micromap>> (internal issue 3337).
* Clarify slink:VkImageMemoryBarrier color format VU (internal issue
3606).
* Collapse apiext:VK_EXT_shader_tile_image pipeline barrier common VUs
08718 and 06191 (internal MR 6065).
* Use consistent language to describe multi-planar aspect masks for some
existing VUs (internal MR 6072).
* Consolidate VUs in the <<commandbuffers, Command Buffers>> chapter
(internal MR 6114).

New Extensions

* apiext:VK_EXT_frame_boundary
* apiext:VK_MSFT_layered_driver

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

Change log for September 2, 2023 Vulkan 1.3.263 spec update:

Github Issues
Expand Down Expand Up @@ -10465,7 +10491,7 @@ Internal Issues:
* Change the copyright on Vulkan specification asciidoc *source* files to
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
generated *output* formats (internal issue 327). This enables broader
re-use and modification of the Vulkan specification sources, while not
reuse and modification of the Vulkan specification sources, while not
affecting the Reciprocal IP License between Vulkan Adopters and Working
Group Members.

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

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 263
PATCHVERSION = 264
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
Expand Down Expand Up @@ -456,7 +456,7 @@ check-reflow:
# Look for files whose Khronos copyright has not been updated to the
# current year
DATE_YEAR = $(shell date +%Y)
CHECK_DATES = git grep -l 'Copyright.*The Khronos' | xargs git grep -L 'Copyright.*$(DATE_YEAR).*The Khronos'
CHECK_DATES = git grep -z -l 'Copyright.*The Khronos' | xargs -0 git grep -L 'Copyright.*$(DATE_YEAR).*The Khronos'
check-copyright-dates:
if test `$(CHECK_DATES) | wc -l` != 0 ; then \
echo "Files with out-of-date Khronos copyrights (must be updated to $(DATE_YEAR):" ; \
Expand Down
35 changes: 35 additions & 0 deletions appendices/VK_EXT_frame_boundary.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Copyright 2022-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
2023-06-14
*Contributors*::
- James Fitzpatrick, Imagination Technologies
- Hugues Evrard, Google
- Melih Yasin Yalcin, Google
- Andrew Garrard, Imagination Technologies
- Jan-Harald Fredriksen, Arm
- Vassili Nikolaev, NVIDIA
- Ting Wei, Huawei

=== Description

apiext:VK_EXT_frame_boundary is a device extension that helps *tools* (such
as debuggers) to group queue submissions per frames in non-trivial
scenarios, typically when flink:vkQueuePresentKHR is not a relevant frame
boundary delimiter.

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

=== Version History

* Revision 0, 2022-01-14 (Hugues Evard)
** Initial proposal

* Revision 1, 2023-06-14 (James Fitzpatrick)
** Initial draft
6 changes: 3 additions & 3 deletions appendices/VK_MSFT_layered_driver.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ include::{generated}/meta/{refprefix}VK_MSFT_layered_driver.adoc[]

=== Description

This extension adds new physical device properties to allow applications
and the Vulkan ICD loader to understand when a physical device is
implemented as a layered driver on top of another underlying API.
This extension adds new physical device properties to allow applications and
the Vulkan ICD loader to understand when a physical device is implemented as
a layered driver on top of another underlying API.

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

Expand Down
102 changes: 41 additions & 61 deletions chapters/cmdbuffers.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -951,18 +951,6 @@ include::{generated}/api/structs/VkCommandBufferBeginInfo.adoc[]
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, the
slink:VkCommandPool that pname:commandBuffer was allocated from must:
support graphics operations
ifndef::VK_VERSION_1_3,VK_KHR_dynamic_rendering[]
* [[VUID-VkCommandBufferBeginInfo-flags-00053]]
If pname:flags contains
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, the
pname:renderPass member of pname:pInheritanceInfo must: be a valid
sname:VkRenderPass
* [[VUID-VkCommandBufferBeginInfo-flags-00054]]
If pname:flags contains
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, the
pname:subpass member of pname:pInheritanceInfo must: be a valid subpass
index within the pname:renderPass member of pname:pInheritanceInfo
endif::VK_VERSION_1_3,VK_KHR_dynamic_rendering[]
ifndef::VKSC_VERSION_1_0[]
* [[VUID-VkCommandBufferBeginInfo-flags-00055]]
If pname:flags contains
Expand Down Expand Up @@ -990,19 +978,12 @@ ifdef::VKSC_VERSION_1_0[]
that includes ename:VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT
endif::VKSC_VERSION_1_0[]
ifdef::VK_VERSION_1_3,VK_KHR_dynamic_rendering[]
* [[VUID-VkCommandBufferBeginInfo-flags-06000]]
If pname:flags contains
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT and the
pname:renderPass member of pname:pInheritanceInfo is not
dlink:VK_NULL_HANDLE, pname:renderPass must: be a valid
sname:VkRenderPass
* [[VUID-VkCommandBufferBeginInfo-flags-06001]]
* [[VUID-VkCommandBufferBeginInfo-flags-09240]]
If pname:flags contains
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT and the
pname:renderPass member of pname:pInheritanceInfo is not
dlink:VK_NULL_HANDLE, the pname:subpass member of pname:pInheritanceInfo
must: be a valid subpass index within the pname:renderPass member of
pname:pInheritanceInfo
<<features-dynamicRendering,pname:dynamicRendering>> feature is not
enabled, the pname:renderPass member of pname:pInheritanceInfo must: not
be dlink:VK_NULL_HANDLE
* [[VUID-VkCommandBufferBeginInfo-flags-06002]]
If pname:flags contains
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT and the
Expand All @@ -1022,6 +1003,25 @@ ifdef::VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples[]
slink:VkCommandBufferInheritanceRenderingInfo::pname:colorAttachmentCount
endif::VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples[]
endif::VK_VERSION_1_3,VK_KHR_dynamic_rendering[]
* [[VUID-VkCommandBufferBeginInfo-flags-06000]]
If pname:flags contains
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
ifdef::VK_VERSION_1_3,VK_KHR_dynamic_rendering[]
and the pname:renderPass member of pname:pInheritanceInfo is not
dlink:VK_NULL_HANDLE,
endif::VK_VERSION_1_3,VK_KHR_dynamic_rendering[]
the pname:renderPass member of pname:pInheritanceInfo must: be a valid
sname:VkRenderPass
* [[VUID-VkCommandBufferBeginInfo-flags-06001]]
If pname:flags contains
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
ifdef::VK_VERSION_1_3,VK_KHR_dynamic_rendering[]
and the pname:renderPass member of pname:pInheritanceInfo is not
dlink:VK_NULL_HANDLE,
endif::VK_VERSION_1_3,VK_KHR_dynamic_rendering[]
the pname:subpass member of pname:pInheritanceInfo must: be a valid
subpass index within the pname:renderPass member of
pname:pInheritanceInfo
****
ifdef::VKSC_VERSION_1_0[]
ifdef::hidden[]
Expand Down Expand Up @@ -1443,13 +1443,6 @@ and writes to those attachments are discarded.
pname:variableMultisampleRate>> feature is not enabled,
pname:rasterizationSamples must: be a valid elink:VkSampleCountFlagBits
value
ifndef::VK_NV_linear_color_attachment[]
* [[VUID-VkCommandBufferInheritanceRenderingInfo-pColorAttachmentFormats-06006]]
If any element of pname:pColorAttachmentFormats is not
ename:VK_FORMAT_UNDEFINED, it must: be a format with
<<potential-format-features, potential format features>> that include
ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
endif::VK_NV_linear_color_attachment[]
* [[VUID-VkCommandBufferInheritanceRenderingInfo-depthAttachmentFormat-06540]]
If pname:depthAttachmentFormat is not ename:VK_FORMAT_UNDEFINED, it
must: be a format that includes a depth component
Expand All @@ -1458,13 +1451,13 @@ endif::VK_NV_linear_color_attachment[]
must: be a format with <<potential-format-features, potential format
features>> that include
ename:VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
ifdef::VK_NV_linear_color_attachment[]
* [[VUID-VkCommandBufferInheritanceRenderingInfo-pColorAttachmentFormats-06492]]
If any element of pname:pColorAttachmentFormats is not
ename:VK_FORMAT_UNDEFINED, it must: be a format with
<<potential-format-features, potential format features>> that include
ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, or
ename:VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV if the
ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
ifdef::VK_NV_linear_color_attachment[]
, or ename:VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV if the
<<features-linearColorAttachment, pname:linearColorAttachment>> feature
is enabled
endif::VK_NV_linear_color_attachment[]
Expand Down Expand Up @@ -1776,24 +1769,17 @@ include::{chapters}/commonvalidity/no_dynamic_allocations_common.adoc[]
defined by the pname:semaphore member of any element of the
pname:pWaitSemaphoreInfos member of any element of pname:pSubmits, there
must: be no other queues waiting on the same semaphore
ifndef::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
* [[VUID-vkQueueSubmit2-semaphore-03872]]
* [[VUID-vkQueueSubmit2-semaphore-03873]]
The pname:semaphore member of any element of the
pname:pWaitSemaphoreInfos member of any element of pname:pSubmits must:
be semaphores that are signaled, or have
<<synchronization-semaphores-signaling, semaphore signal operations>>
previously submitted for execution
endif::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
pname:pWaitSemaphoreInfos member of any element of pname:pSubmits
ifdef::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
* [[VUID-vkQueueSubmit2-semaphore-03873]]
Any pname:semaphore member of any element of the
pname:pWaitSemaphoreInfos member of any element of pname:pSubmits that
was created with a elink:VkSemaphoreTypeKHR of
ename:VK_SEMAPHORE_TYPE_BINARY_KHR must: reference a semaphore signal
operation that has been submitted for execution and any
<<synchronization-semaphores-signaling, semaphore signal operations>> on
which it depends (if any) must: have also been submitted for execution
that was created with a elink:VkSemaphoreTypeKHR of
ename:VK_SEMAPHORE_TYPE_BINARY_KHR
endif::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
must: reference a semaphore signal operation that has been submitted for
execution and any <<synchronization-semaphores-signaling, semaphore
signal operations>> on which it depends must: have also been submitted
for execution
* [[VUID-vkQueueSubmit2-commandBuffer-03874]]
The pname:commandBuffer member of any element of the
pname:pCommandBufferInfos member of any element of pname:pSubmits must:
Expand Down Expand Up @@ -2189,22 +2175,16 @@ include::{chapters}/commonvalidity/no_dynamic_allocations_common.adoc[]
by any element of the pname:pWaitSemaphores member of any element of
pname:pSubmits executes on pname:queue, there must: be no other queues
waiting on the same semaphore
ifndef::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
* [[VUID-vkQueueSubmit-pWaitSemaphores-00069]]
All elements of the pname:pWaitSemaphores member of all elements of
pname:pSubmits must: be semaphores that are signaled, or have
<<synchronization-semaphores-signaling, semaphore signal operations>>
previously submitted for execution
endif::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
ifdef::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
* [[VUID-vkQueueSubmit-pWaitSemaphores-03238]]
All elements of the pname:pWaitSemaphores member of all elements of
pname:pSubmits created with a elink:VkSemaphoreType of
ename:VK_SEMAPHORE_TYPE_BINARY must: reference a semaphore signal
operation that has been submitted for execution and any
<<synchronization-semaphores-signaling, semaphore signal operations>> on
which it depends (if any) must: have also been submitted for execution
pname:pSubmits
ifdef::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
created with a elink:VkSemaphoreType of ename:VK_SEMAPHORE_TYPE_BINARY
endif::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
must: reference a semaphore signal operation that has been submitted for
execution and any <<synchronization-semaphores-signaling, semaphore
signal operations>> on which it depends must: have also been submitted
for execution
* [[VUID-vkQueueSubmit-pCommandBuffers-00070]]
Each element of the pname:pCommandBuffers member of each element of
pname:pSubmits must: be in the <<commandbuffers-lifecycle, pending or
Expand Down
1 change: 1 addition & 0 deletions chapters/commonvalidity/access_mask_2_common.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright 2020-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to structs taking VkPipelineStageFlags2 and VkAccessFlags2 parameters to define scopes
// Set "stageMaskName" and "accessMaskName" attribute to the name of the stage and access mask to validate
Expand Down
4 changes: 3 additions & 1 deletion chapters/commonvalidity/access_mask_common.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright 2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to vkCmdPipelineBarrier and vkCmdWaitEvents which is where both VkPipelineStageFlags and VkAccessFlags
// parameters can be found.
Expand All @@ -18,4 +19,5 @@ endif::VK_KHR_ray_query[]
ifdef::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
except ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR
endif::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
endif::VK_KHR_acceleration_structure,VK_NV_ray_tracing[]
endif::VK_KHR_acceleration_structure,VK_NV_ray_tracing[]
// Common Valid Usage
1 change: 1 addition & 0 deletions chapters/commonvalidity/attachment_description_common.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright 2020-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to attachment description structures
* [[VUID-{refpage}-format-06698]]
Expand Down
1 change: 1 addition & 0 deletions chapters/commonvalidity/attachment_reference_common.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright 2020-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to attachment reference structures
* [[VUID-{refpage}-layout-03077]]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,11 @@
must: specify aspects present in pname:{imageparam}
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
* [[VUID-{refpage}-{imageparam}-07981]]
If pname:{imageparam} has a elink:VkFormat with
<<formats-requiring-sampler-ycbcr-conversion,two planes>> then for each
element of pname:pRegions, pname:{imagesubresource}.aspectMask must: be
ename:VK_IMAGE_ASPECT_PLANE_0_BIT or ename:VK_IMAGE_ASPECT_PLANE_1_BIT
* [[VUID-{refpage}-{imageparam}-07982]]
If pname:{imageparam} has a elink:VkFormat with
<<formats-requiring-sampler-ycbcr-conversion,three planes>> then for
each element of pname:pRegions, pname:{imagesubresource}.aspectMask
must: be ename:VK_IMAGE_ASPECT_PLANE_0_BIT,
ename:VK_IMAGE_ASPECT_PLANE_1_BIT, or ename:VK_IMAGE_ASPECT_PLANE_2_BIT
If pname:{imageparam} has a
<<formats-requiring-sampler-ycbcr-conversion, multi-planar image
format>>, then for each element of pname:pRegions,
pname:{imagesubresource}.aspectMask must: be a single valid
<<formats-planes-image-aspect,multi-planar aspect mask>> bit
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
* [[VUID-{refpage}-{imageparam}-07983]]
If pname:{imageparam} is of type ename:VK_IMAGE_TYPE_3D, for each
Expand Down
4 changes: 2 additions & 2 deletions chapters/commonvalidity/copy_image_common.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,12 @@ ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
If pname:srcImage has a <<formats-requiring-sampler-ycbcr-conversion,
multi-planar image format>>, then for each element of pname:pRegions,
pname:srcSubresource.aspectMask must: be a single valid
<<formats-planes-image-aspect,multi-planar aspect mask>>
<<formats-planes-image-aspect,multi-planar aspect mask>> bit
* [[VUID-{refpage}-dstImage-08714]]
If pname:dstImage has a <<formats-requiring-sampler-ycbcr-conversion,
multi-planar image format>>, then for each element of pname:pRegions,
pname:dstSubresource.aspectMask must: be a single valid
<<formats-planes-image-aspect,multi-planar aspect mask>>
<<formats-planes-image-aspect,multi-planar aspect mask>> bit
* [[VUID-{refpage}-srcImage-01556]]
If pname:srcImage has a
<<formats-requiring-sampler-ycbcr-conversion,multi-planar image format>>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
and has a <<formats-requiring-sampler-ycbcr-conversion, multi-planar
image format>>, then the pname:aspectMask member of pname:pSubresource
must: be a single valid <<formats-planes-image-aspect,multi-planar
aspect mask>>
aspect mask>> bit
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
ifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
* [[VUID-{refpage}-image-01895]]
Expand Down
14 changes: 9 additions & 5 deletions chapters/commonvalidity/image_layout_transition_common.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,19 @@ ifndef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
pname:subresourceRange must: be ename:VK_IMAGE_ASPECT_COLOR_BIT
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
* [[VUID-{refpage}-image-01671]]
If pname:image has a single-plane color format or is not _disjoint_,
then the pname:aspectMask member of pname:subresourceRange must: be
* [[VUID-{refpage}-image-09241]]
If pname:image has a color format that is single-plane, then the
pname:aspectMask member of pname:subresourceRange must: be
ename:VK_IMAGE_ASPECT_COLOR_BIT
* [[VUID-{refpage}-image-09242]]
If pname:image has a color format and is not _disjoint_, then the
pname:aspectMask member of pname:subresourceRange must: be
ename:VK_IMAGE_ASPECT_COLOR_BIT
* [[VUID-{refpage}-image-01672]]
If pname:image has a multi-planar format and the image is _disjoint_,
then the pname:aspectMask member of pname:subresourceRange must: include
at least one <<formats-planes-image-aspect,multi-planar aspect mask>> or
ename:VK_IMAGE_ASPECT_COLOR_BIT
at least one <<formats-planes-image-aspect,multi-planar aspect mask>>
bit or ename:VK_IMAGE_ASPECT_COLOR_BIT
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
ifndef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[]
* [[VUID-{refpage}-image-01207]]
Expand Down
Loading

0 comments on commit 3d25cd9

Please sign in to comment.