Skip to content

Commit

Permalink
Change log for May 17, 2022 Vulkan 1.3.214 spec update:
Browse files Browse the repository at this point in the history
  * Update release number to 214 for this update.

Public Issues:

  * Clarify protected queue creation language for slink:VkDeviceCreateInfo,
    slink:VkDeviceQueueCreateInfo,
    slink:VkDeviceQueueGlobalPriorityCreateInfoKHR, and
    slink:VkDeviceQueueInfo2 (public issue 1761, internal issue 2978).
  * Add valid usage statements for usage and format features bits for
    resolve image commands (public pull request 1826).
  * Add apiext:VK_KHR_depth_stencil_resolve dependency to
    apiext:VK_KHR_dynamic_rendering (public pull request 1831).
  * Make some missing API dependencies explicit in XML (public issue 1840).
  * Mark slink:VkSubresourceLayout2EXT as `returnedonly` in XML (public pull
    request 1848).
  * Replace manual links in VK_KHR_ray_tracing_maintenance1 appendix (public
    pull request 1849).
  * Add valid usage statement for pname:pipelinePropertiesIdentifier
    feature, and change a valid usage statement to refer to the
    pname:imageCompressionControlSwapchain feature rather than the related
    extension (public pull request 1852).

Internal Issues:

  * Fix description of parameters defined by
    apiext:VK_EXT_depth_clip_control for slink:VkViewport (internal issue
    3044)
  * Add valid usage statements to slink:VkGraphicsPipelineCreateInfo banning
    graphics pipeline libraries having descriptors for other libraries
    (internal issue 3080).
  * Add valid usage statements to slink:VkGraphicsPipelineCreateInfo and
    flink:vkCmdBindDescriptorSets allowing `NULL` set layouts with
    non-independent sets (internal issue 3082).
  * Set `noautovalidity` attribute in XML for
    flink:vkGetPipelinePropertiesEXT::pname:pPipelineProperties (internal
    issue 3088).
  * Update apiext:VK_NV_device_diagnostics_config to add a new config bit
    (internal merge request 5160).
  * Clarify unsupported conservative point/line rasterization in
    slink:VkPipelineRasterizationConservativeStateCreateInfoEXT and in valid
    usage statements for slink:VkGraphicsPipelineCreateInfo (internal merge
    request 5169).
  * Add missing `limittype` attributes to XML for
    slink:VkQueueFamilyProperties* and slink:VkFormatProperties* members
    (internal merge requests 5171 and 5175).
  * Improve XML `limittype` attribute of
    slink:VkPhysicalDeviceFragmentShadingRatePropertiesKHR::pname:maxFragmentShadingRateCoverageSamples
    for tool chain usage (internal merge request 5177).
  * Change description of slink:VkPipelineLayoutCreateInfo::pname:flags now
    that there are flag bits reserved for the underlying type (internal
    merge request 5180).
  * Fix typos in slink:VkGraphicsPipelineCreateInfo valid usage statements
    (internal merge request 5191).
  * Move attribute settings used in commonvalidity includes inside valid
    usage blocks to generate correct validusage.json text (internal merge
    request 5195).

New Extensions:

  * apiext:VK_AMD_shader_early_and_late_fragment_tests
  • Loading branch information
oddhack committed May 17, 2022
1 parent c18adb4 commit 0287898
Show file tree
Hide file tree
Showing 21 changed files with 756 additions and 118 deletions.
65 changes: 65 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,71 @@ public pull requests that have been accepted.

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

Change log for May 17, 2022 Vulkan 1.3.214 spec update:

* Update release number to 214 for this update.

Public Issues:

* Clarify protected queue creation language for slink:VkDeviceCreateInfo,
slink:VkDeviceQueueCreateInfo,
slink:VkDeviceQueueGlobalPriorityCreateInfoKHR, and
slink:VkDeviceQueueInfo2 (public issue 1761, internal issue 2978).
* Add valid usage statements for usage and format features bits for
resolve image commands (public pull request 1826).
* Add apiext:VK_KHR_depth_stencil_resolve dependency to
apiext:VK_KHR_dynamic_rendering (public pull request 1831).
* Make some missing API dependencies explicit in XML (public issue 1840).
* Mark slink:VkSubresourceLayout2EXT as `returnedonly` in XML (public pull
request 1848).
* Replace manual links in VK_KHR_ray_tracing_maintenance1 appendix (public
pull request 1849).
* Add valid usage statement for pname:pipelinePropertiesIdentifier
feature, and change a valid usage statement to refer to the
pname:imageCompressionControlSwapchain feature rather than the related
extension (public pull request 1852).

Internal Issues:

* Fix description of parameters defined by
apiext:VK_EXT_depth_clip_control for slink:VkViewport (internal issue
3044)
* Add valid usage statements to slink:VkGraphicsPipelineCreateInfo banning
graphics pipeline libraries having descriptors for other libraries
(internal issue 3080).
* Add valid usage statements to slink:VkGraphicsPipelineCreateInfo and
flink:vkCmdBindDescriptorSets allowing `NULL` set layouts with
non-independent sets (internal issue 3082).
* Set `noautovalidity` attribute in XML for
flink:vkGetPipelinePropertiesEXT::pname:pPipelineProperties (internal
issue 3088).
* Update apiext:VK_NV_device_diagnostics_config to add a new config bit
(internal merge request 5160).
* Clarify unsupported conservative point/line rasterization in
slink:VkPipelineRasterizationConservativeStateCreateInfoEXT and in valid
usage statements for slink:VkGraphicsPipelineCreateInfo (internal merge
request 5169).
* Add missing `limittype` attributes to XML for
slink:VkQueueFamilyProperties* and slink:VkFormatProperties* members
(internal merge requests 5171 and 5175).
* Improve XML `limittype` attribute of
slink:VkPhysicalDeviceFragmentShadingRatePropertiesKHR::pname:maxFragmentShadingRateCoverageSamples
for tool chain usage (internal merge request 5177).
* Change description of slink:VkPipelineLayoutCreateInfo::pname:flags now
that there are flag bits reserved for the underlying type (internal
merge request 5180).
* Fix typos in slink:VkGraphicsPipelineCreateInfo valid usage statements
(internal merge request 5191).
* Move attribute settings used in commonvalidity includes inside valid
usage blocks to generate correct validusage.json text (internal merge
request 5195).

New Extensions:

* apiext:VK_AMD_shader_early_and_late_fragment_tests

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

Change log for May 10, 2022 Vulkan 1.3.213 spec update:

* Update release number to 213 for this update.
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 213
PATCHVERSION = 214

ifneq (,$(findstring VK_VERSION_1_3,$(VERSIONS)))
SPECMINOR = 3
Expand Down
37 changes: 37 additions & 0 deletions appendices/VK_AMD_shader_early_and_late_fragment_tests.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// Copyright (c) 2021 Advanced Micro Devices, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_AMD_shader_early_and_late_fragment_tests.txt[]

=== Other Extension Metadata

*Last Modified Date*::
2021-09-14
*Interactions and External Dependencies*::
- This extension requires
{spirv}/AMD/SPV_AMD_shader_early_and_late_fragment_tests.html[`SPV_AMD_shader_early_and_late_fragment_tests`]
- This extension interacts with `apiext:VK_EXT_shader_stencil_export`
*Contributors*::
- Tobias Hector, AMD

=== Description

This extension adds support for the
{spirv}/AMD/SPV_AMD_shader_early_and_late_fragment_tests.html[`SPV_AMD_shader_early_and_late_fragment_tests`]
extension, allowing shaders to explicitly opt in to allowing both early
_and_ late fragment tests with the code:EarlyAndLateFragmentTestsEXT
execution mode.

ifdef::VK_EXT_shader_stencil_export[]
If `apiext:VK_EXT_shader_stencil_export` is supported, additional execution
modes allowing early depth tests similar to code:DepthUnchanged,
code:DepthLess, and code:DepthGreater are provided.
endif::VK_EXT_shader_stencil_export[]

include::{generated}/interfaces/VK_AMD_shader_early_and_late_fragment_tests.txt[]

=== Version History

* Revision 1, 2021-09-14 (Tobias Hector)
- Initial draft
9 changes: 8 additions & 1 deletion appendices/VK_NV_device_diagnostics_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ include::{generated}/meta/{refprefix}VK_NV_device_diagnostics_config.txt[]
=== Other Extension Metadata

*Last Modified Date*::
2019-12-15
2022-04-06
*Contributors*::
- Kedarnath Thangudu, NVIDIA
- Thomas Klein, NVIDIA
Expand All @@ -18,9 +18,16 @@ Applications using Nvidia Nsight^(TM)^ Aftermath SDK for Vulkan to integrate
device crash dumps into their error reporting mechanisms, may: use this
extension to configure options related to device crash dump creation.

Version 2 of this extension adds
ename:VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV
which when set enables enhanced reporting of shader execution errors.

include::{generated}/interfaces/VK_NV_device_diagnostics_config.txt[]

=== Version History

* Revision 1, 2019-11-21 (Kedarnath Thangudu)
- Internal revisions
* Revision 2, 2022-04-06 (Kedarnath Thangudu)
- Added a config bit
ename:VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV
35 changes: 35 additions & 0 deletions appendices/spirvenv.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1274,6 +1274,41 @@ ifdef::VK_KHR_shader_subgroup_uniform_control_flow[]
point does not execute any <<ray-tracing-repack,_invocation repack
instructions_>>.
endif::VK_KHR_shader_subgroup_uniform_control_flow[]
ifdef::VK_AMD_shader_early_and_late_fragment_tests[]
* [[VUID-{refpage}-shaderEarlyAndLateFragmentTests-06767]]
If <<features-shaderEarlyAndLateFragmentTests,
pname:shaderEarlyAndLateFragmentTests>> is not enabled, the
code:EarlyAndLateFragmentTestsEXT code:Execution code:Mode must: not be
used.
* [[VUID-{refpage}-shaderEarlyAndLateFragmentTests-06768]]
If <<features-shaderEarlyAndLateFragmentTests,
pname:shaderEarlyAndLateFragmentTests>> feature is not enabled, the
code:StencilRefUnchangedFrontEXT code:Execution code:Mode must: not be
used.
* [[VUID-{refpage}-shaderEarlyAndLateFragmentTests-06769]]
If <<features-shaderEarlyAndLateFragmentTests,
pname:shaderEarlyAndLateFragmentTests>> is not enabled, the
code:StencilRefUnchangedBackEXT code:Execution code:Mode must: not be
used.
* [[VUID-{refpage}-shaderEarlyAndLateFragmentTests-06770]]
If <<features-shaderEarlyAndLateFragmentTests,
pname:shaderEarlyAndLateFragmentTests>> is not enabled, the
code:StencilRefGreaterFrontEXT code:Execution code:Mode must: not be
used.
* [[VUID-{refpage}-shaderEarlyAndLateFragmentTests-06771]]
If <<features-shaderEarlyAndLateFragmentTests,
pname:shaderEarlyAndLateFragmentTests>> is not enabled, the
code:StencilRefGreaterBackEXT code:Execution code:Mode must: not be
used.
* [[VUID-{refpage}-shaderEarlyAndLateFragmentTests-06772]]
If <<features-shaderEarlyAndLateFragmentTests,
pname:shaderEarlyAndLateFragmentTests>> is not enabled, the
code:StencilRefLessFrontEXT code:Execution code:Mode must: not be used.
* [[VUID-{refpage}-shaderEarlyAndLateFragmentTests-06773]]
If <<features-shaderEarlyAndLateFragmentTests,
pname:shaderEarlyAndLateFragmentTests>> is not enabled, the
code:StencilRefLessBackEXT code:Execution code:Mode must: not be used.
endif::VK_AMD_shader_early_and_late_fragment_tests[]
****
--

Expand Down
5 changes: 3 additions & 2 deletions chapters/VK_EXT_pipeline_properties/pipeline_properties.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@ identifier is implementation specific.
* [[VUID-vkGetPipelinePropertiesEXT-pPipelineProperties-06739]]
pname:pPipelineProperties must: be a valid pointer to a
slink:VkPipelinePropertiesIdentifierEXT structure
* The <<features-pipelinePropertiesIdentifier,pipelinePropertiesIdentifier>>
feature must: be enabled
* [[VUID-vkGetPipelinePropertiesEXT-None-06766]]
The <<features-pipelinePropertiesIdentifier,
pipelinePropertiesIdentifier>> feature must: be enabled
****

include::{generated}/validity/protos/vkGetPipelinePropertiesEXT.txt[]
Expand Down
6 changes: 3 additions & 3 deletions chapters/accelstructures.txt
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,6 @@ ifdef::VK_KHR_acceleration_structure[]
[open,refpage='vkCmdBuildAccelerationStructuresKHR',desc='Build an acceleration structure',type='protos']
--
:refpage: vkCmdBuildAccelerationStructuresKHR
:maxinstancecheck: pname:ppBuildRangeInfos[i][j].pname:primitiveCount

To build acceleration structures call:

Expand Down Expand Up @@ -324,6 +323,7 @@ ename:VK_ACCESS_SHADER_READ_BIT.

.Valid Usage
****
:maxinstancecheck: pname:ppBuildRangeInfos[i][j].pname:primitiveCount
include::{chapters}/commonvalidity/build_acceleration_structure_common.txt[]
include::{chapters}/commonvalidity/build_acceleration_structure_device_common.txt[]
include::{chapters}/commonvalidity/build_acceleration_structure_nonindirect_common.txt[]
Expand All @@ -335,7 +335,6 @@ include::{generated}/validity/protos/vkCmdBuildAccelerationStructuresKHR.txt[]
[open,refpage='vkCmdBuildAccelerationStructuresIndirectKHR',desc='Build an acceleration structure with some parameters provided on the device',type='protos']
--
:refpage: vkCmdBuildAccelerationStructuresIndirectKHR
:maxinstancecheck: pname:ppMaxPrimitiveCounts[i][j]

To build acceleration structures with some parameters sourced on the device
call:
Expand Down Expand Up @@ -375,6 +374,7 @@ ename:VK_ACCESS_INDIRECT_COMMAND_READ_BIT.

.Valid Usage
****
:maxinstancecheck: pname:ppMaxPrimitiveCounts[i][j]
include::{chapters}/commonvalidity/build_acceleration_structure_common.txt[]
include::{chapters}/commonvalidity/build_acceleration_structure_device_common.txt[]
* [[VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03645]]
Expand Down Expand Up @@ -1993,7 +1993,6 @@ the command.
[open,refpage='vkBuildAccelerationStructuresKHR',desc='Build an acceleration structure on the host',type='protos']
--
:refpage: vkBuildAccelerationStructuresKHR
:maxinstancecheck: pname:ppBuildRangeInfos[i][j].pname:primitiveCount

To build acceleration structures on the host, call:

Expand Down Expand Up @@ -2039,6 +2038,7 @@ memories or scratch memories being used by any of the builds.

.Valid Usage
****
:maxinstancecheck: pname:ppBuildRangeInfos[i][j].pname:primitiveCount
include::{chapters}/commonvalidity/build_acceleration_structure_common.txt[]
include::{chapters}/commonvalidity/build_acceleration_structure_nonindirect_common.txt[]
include::{chapters}/commonvalidity/deferred_operations_common.txt[]
Expand Down
12 changes: 8 additions & 4 deletions chapters/commonvalidity/resolve_image_common.txt
Original file line number Diff line number Diff line change
Expand Up @@ -144,16 +144,20 @@ endif::VK_EXT_fragment_density_map[]
If pname:dstImage is of type ename:VK_IMAGE_TYPE_1D or
ename:VK_IMAGE_TYPE_2D, then for each element of pname:pRegions,
pname:dstOffset.z must: be `0` and pname:extent.depth must: be `1`
* pname:srcImage must: have been created with
* [[VUID-{refpage}-srcImage-06762]]
pname:srcImage must: have been created with
ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
* The <<resources-image-format-features,format features>> of
* [[VUID-{refpage}-srcImage-06763]]
The <<resources-image-format-features,format features>> of
pname:srcImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
* pname:dstImage must: have been created with
* [[VUID-{refpage}-dstImage-06764]]
pname:dstImage must: have been created with
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
* The <<resources-image-format-features,format features>> of
* [[VUID-{refpage}-dstImage-06765]]
The <<resources-image-format-features,format features>> of
pname:dstImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
// Common Valid Usage
12 changes: 8 additions & 4 deletions chapters/copies.txt
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,6 @@ endif::VK_VERSION_1_3,VK_KHR_copy_commands2[]
[open,refpage='vkCmdCopyBufferToImage',desc='Copy data from a buffer into an image',type='protos']
--
:refpage: vkCmdCopyBufferToImage
:imageparam: pname:dstImage

To copy data from a buffer object to an image object, call:

Expand Down Expand Up @@ -621,6 +620,8 @@ include::{chapters}/commonvalidity/copy_buffer_to_image_common.txt[]
[eq]#(pname:imageExtent.height {plus} pname:imageOffset.y)# must: both
be greater than or equal to `0` and less than or equal to the height of
the specified pname:imageSubresource of pname:dstImage

:imageparam: pname:dstImage
include::{chapters}/commonvalidity/copy_bufferimage_to_imagebuffer_common.txt[]
****

Expand All @@ -630,7 +631,6 @@ include::{generated}/validity/protos/vkCmdCopyBufferToImage.txt[]
[open,refpage='vkCmdCopyImageToBuffer',desc='Copy image data into a buffer',type='protos']
--
:refpage: vkCmdCopyImageToBuffer
:imageparam: pname:srcImage

To copy data from an image object to a buffer object, call:

Expand Down Expand Up @@ -683,6 +683,8 @@ include::{chapters}/commonvalidity/copy_image_to_buffer_common.txt[]
[eq]#(imageExtent.height {plus} pname:imageOffset.y)# must: both be
greater than or equal to `0` and less than or equal to the height of the
specified pname:imageSubresource of pname:srcImage

:imageparam: pname:srcImage
include::{chapters}/commonvalidity/copy_bufferimage_to_imagebuffer_common.txt[]
****

Expand Down Expand Up @@ -813,7 +815,6 @@ include::{generated}/validity/protos/vkCmdCopyBufferToImage2.txt[]
[open,refpage='VkCopyBufferToImageInfo2',desc='Structure specifying parameters of a buffer to image copy command',type='structs',alias='VkCopyBufferToImageInfo2KHR']
--
:refpage: VkCopyBufferToImageInfo2
:imageparam: pname:dstImage

The sname:VkCopyBufferToImageInfo2 structure is defined as:

Expand Down Expand Up @@ -884,6 +885,8 @@ include::{chapters}/commonvalidity/copy_buffer_to_image_common.txt[]
pname:imageOffset.y)# must: both be greater than or equal to `0` and
less than or equal to the height of the specified pname:imageSubresource
of pname:dstImage

:imageparam: pname:dstImage
include::{chapters}/commonvalidity/copy_bufferimage_to_imagebuffer_common.txt[]
****

Expand All @@ -893,7 +896,6 @@ include::{generated}/validity/structs/VkCopyBufferToImageInfo2.txt[]
[open,refpage='vkCmdCopyImageToBuffer2',desc='Copy image data into a buffer',type='protos',alias='vkCmdCopyImageToBuffer2KHR']
--
:refpage: vkCmdCopyImageToBuffer2
:imageparam: pname:srcImage

To copy data from an image object to a buffer object, call:

Expand Down Expand Up @@ -998,6 +1000,8 @@ include::{chapters}/commonvalidity/copy_image_to_buffer_common.txt[]
pname:imageOffset.y)# must: both be greater than or equal to `0` and
less than or equal to the height of the specified pname:imageSubresource
of pname:srcImage

:imageparam: pname:srcImage
include::{chapters}/commonvalidity/copy_bufferimage_to_imagebuffer_common.txt[]
****

Expand Down
19 changes: 10 additions & 9 deletions chapters/descriptorsets.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1427,7 +1427,8 @@ include::{generated}/api/structs/VkPipelineLayoutCreateInfo.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to a structure extending this
structure.
* pname:flags is reserved for future use.
* pname:flags is a bitmask of elink:VkPipelineLayoutCreateFlagBits
specifying options for pipeline layout creation.
* pname:setLayoutCount is the number of descriptor sets included in the
pipeline layout.
* pname:pSetLayouts is a pointer to an array of
Expand Down Expand Up @@ -1897,10 +1898,10 @@ ifndef::VK_EXT_graphics_pipeline_library[]
objects
endif::VK_EXT_graphics_pipeline_library[]
ifdef::VK_EXT_graphics_pipeline_library[]
* [[VUID-VkPipelineLayoutCreateInfo-flags-06562]]
If pname:flags: does not include
ename:VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT, elements of
pname:pSetLayouts must: be valid slink:VkDescriptorSetLayout objects
* [[VUID-VkPipelineLayoutCreateInfo-graphicsPipelineLibrary-06753]]
If <<features-graphicsPipelineLibrary,pname:graphicsPipelineLibrary>> is
not enabled, elements of pname:pSetLayouts must: be valid
slink:VkDescriptorSetLayout objects
endif::VK_EXT_graphics_pipeline_library[]
****

Expand Down Expand Up @@ -4508,10 +4509,10 @@ ifndef::VK_EXT_graphics_pipeline_library[]
slink:VkDescriptorSet
endif::VK_EXT_graphics_pipeline_library[]
ifdef::VK_EXT_graphics_pipeline_library[]
* [[VUID-vkCmdBindDescriptorSets-layout-06564]]
If pname:layout was not created with
ename:VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT, each element
of pname:pDescriptorSets must: be a valid slink:VkDescriptorSet
* [[VUID-vkCmdBindDescriptorSets-graphicsPipelineLibrary-06754]]
If <<features-graphicsPipelineLibrary,pname:graphicsPipelineLibrary>> is
not enabled, each element of pname:pDescriptorSets must: be a valid
slink:VkDescriptorSet
endif::VK_EXT_graphics_pipeline_library[]
****

Expand Down
Loading

0 comments on commit 0287898

Please sign in to comment.