Skip to content

Commit

Permalink
Change log for December 19, 2023 Vulkan 1.3.274 spec update:
Browse files Browse the repository at this point in the history
Github Issues

  * Remove incorrect `optional` attribute on
    slink:VkCudaLaunchInfoNV::pParams and pname:pExtras (public PR 2263).
  * Require identity swizzle for attachments in slink:VkRenderingInfo
    dynamic rendering VUs (public issue 2275).
  * Make slink:VkRenderPassStripeBeginInfoARM::pname:pStripeInfos `const`
    (public PR 2279).

Internal Issues

  * Add a <<introduction-ratified, Ratification>> section to the
    introduction, to define "`ratified`" (as used in the extension appendix
    metadata) in terms useful for developers (internal issues 3472, 3709).
  * Allow fragment shader invocations to be merged for flat shaded
    primitives in the <<fragops-shader, Fragment Shading>> section (internal
    issue 3563).
  * Add alignment VUs to flink:vkCmdDrawIndirectByteCountEXT (internal issue
    3674).
  * Fix etext:VK_*_CREATE_PROTECTED_BIT memory requirements reporting in the
    <<resources-association, Resource Memory Association>> section (internal
    issue 3694).
  * Update common pipeline create info VUs for create flags (internal issue
    3703).
  * Fix slink:VkRenderingInfo dynamic rendering VUs for
    slink:VkRenderingAttachmentInfo::pname:resolveImageView structures
    (internal issue 3711).
  * Minor changes to slink:VkGraphicsPipelinCreateInfo VUs to consistently
    allow pname:pMultisampleState to be optional (internal MR 6312).
  * Update flink:vkGetDescriptorEXT VUs for YCbCr
    ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER (internal MR 6318).
  * Specify alignment requirement VUs for slink:VkSparseMemoryBind
    pname:resourceOffset and pname:memoryOffset values (internal MR 6323).
  * Clarify slink:VkDescriptorSetLayoutBinding::pname:stageFlags VU
    (internal MR 6333).
  * Fix some slink:VkGraphicsPipelineCreateInfo VUs to read properly without
    some related extensions enabled in the build (internal MR 6335).
  * Fix code:OutputTriangles -> code:OutputTrianglesNV in the description of
    code:PrimitiveIndicesNV (internal MR 6338).
  * Add capture replay VUs to slink:VkAccelerationStructureCreateInfoKHR to
    ensure that the acceleration structure and buffer are identical and have
    the same addresses (internal MR 6351).

New Extensions

  * VK_KHR_maintenance6
  * Video Encode Extensions
  ** VK_KHR_video_encode_queue (was provisional KHR)
  ** VK_KHR_video_encode_h264 (promoted from provisional EXT)
  ** VK_KHR_video_encode_h265 (promoted from provisional EXT)
  ** VK_KHR_video_maintenance1
  * VK_NV_per_stage_descriptor_set
  • Loading branch information
oddhack committed Dec 19, 2023
1 parent e70469c commit 542718c
Show file tree
Hide file tree
Showing 70 changed files with 13,385 additions and 3,458 deletions.
57 changes: 57 additions & 0 deletions ChangeLog.adoc
Expand Up @@ -14,6 +14,63 @@ appears frequently in the change log.

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

Change log for December 19, 2023 Vulkan 1.3.274 spec update:

Github Issues

* Remove incorrect `optional` attribute on
slink:VkCudaLaunchInfoNV::pParams and pname:pExtras (public PR 2263).
* Require identity swizzle for attachments in slink:VkRenderingInfo
dynamic rendering VUs (public issue 2275).
* Make slink:VkRenderPassStripeBeginInfoARM::pname:pStripeInfos `const`
(public PR 2279).

Internal Issues

* Add a <<introduction-ratified, Ratification>> section to the
introduction, to define "`ratified`" (as used in the extension appendix
metadata) in terms useful for developers (internal issues 3472, 3709).
* Allow fragment shader invocations to be merged for flat shaded
primitives in the <<fragops-shader, Fragment Shading>> section (internal
issue 3563).
* Add alignment VUs to flink:vkCmdDrawIndirectByteCountEXT (internal issue
3674).
* Fix etext:VK_*_CREATE_PROTECTED_BIT memory requirements reporting in the
<<resources-association, Resource Memory Association>> section (internal
issue 3694).
* Update common pipeline create info VUs for create flags (internal issue
3703).
* Fix slink:VkRenderingInfo dynamic rendering VUs for
slink:VkRenderingAttachmentInfo::pname:resolveImageView structures
(internal issue 3711).
* Minor changes to slink:VkGraphicsPipelinCreateInfo VUs to consistently
allow pname:pMultisampleState to be optional (internal MR 6312).
* Update flink:vkGetDescriptorEXT VUs for YCbCr
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER (internal MR 6318).
* Specify alignment requirement VUs for slink:VkSparseMemoryBind
pname:resourceOffset and pname:memoryOffset values (internal MR 6323).
* Clarify slink:VkDescriptorSetLayoutBinding::pname:stageFlags VU
(internal MR 6333).
* Fix some slink:VkGraphicsPipelineCreateInfo VUs to read properly without
some related extensions enabled in the build (internal MR 6335).
* Fix code:OutputTriangles -> code:OutputTrianglesNV in the description of
code:PrimitiveIndicesNV (internal MR 6338).
* Add capture replay VUs to slink:VkAccelerationStructureCreateInfoKHR to
ensure that the acceleration structure and buffer are identical and have
the same addresses (internal MR 6351).

New Extensions

* VK_KHR_maintenance6
* Video Encode Extensions
** VK_KHR_video_encode_queue (was provisional KHR)
** VK_KHR_video_encode_h264 (promoted from provisional EXT)
** VK_KHR_video_encode_h265 (promoted from provisional EXT)
** VK_KHR_video_maintenance1
* VK_NV_per_stage_descriptor_set

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

Change log for December 8, 2023 Vulkan 1.3.273 spec update:

Github Issues
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Expand Up @@ -136,7 +136,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 273
PATCHVERSION = 274
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
Expand Down
2 changes: 1 addition & 1 deletion antora/modules/ROOT/nav.adoc
Expand Up @@ -48,7 +48,7 @@ ifeval::["{test}"=="0"]
* xref:chapters/raytraversal.adoc[]
* xref:chapters/raytracing.adoc[]
* xref:chapters/VK_NV_memory_decompression.adoc[]
* xref:chapters/video_extensions.adoc[]
* xref:chapters/videocoding.adoc[]
* xref:chapters/VK_NV_optical_flow/optical_flow.adoc[]
* xref:chapters/executiongraphs.adoc[]
* xref:chapters/VK_NV_low_latency2/low_latency2.adoc[]
Expand Down
60 changes: 60 additions & 0 deletions appendices/VK_KHR_maintenance6.adoc
@@ -0,0 +1,60 @@
// Copyright 2023 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
2023-08-03

*Interactions and External Dependencies*::
- Interacts with `apiext:VK_EXT_robustness2`

*Contributors*::
- Jon Leech, Khronos
- Stu Smith, AMD
- Mike Blumenkrantz, Valve
- Ralph Potter, Samsung
- James Fitzpatrick, Imagination Technologies
- Piers Daniell, NVIDIA
- Daniel Story, Nintendo

=== Description

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

The new features are as follows:

* slink:VkBindMemoryStatusKHR may be included in the pname:pNext chain of
slink:VkBindBufferMemoryInfo and slink:VkBindImageMemoryInfo, allowing
applications to identify individual resources for which memory binding
failed during calls to flink:vkBindBufferMemory2 and
flink:vkBindImageMemory2.
* A new property pname:fragmentShadingRateClampCombinerInputs to indicate
if an implementation clamps the inputs to fragment shading rate combiner
operations.
* dlink:VK_NULL_HANDLE is allowed to be used when binding an index buffer,
instead of a valid slink:VkBuffer handle.
When the <<features-nullDescriptor, pname:nullDescriptor>> feature is
enabled, every index fetched results in a value of zero.
* A new property pname:maxCombinedImageSamplerDescriptorCount to indicate
the maximum number of descriptors needed for any of the
<<formats-requiring-sampler-ycbcr-conversion, formats that require a
sampler {YCbCr} conversion>> supported by the implementation.
* A new property pname:blockTexelViewCompatibleMultipleLayers indicating
whether ename:VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT is allowed
to be used with pname:layerCount > 1
* pname:pNext extensible *2 versions of all descriptor binding commands.

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

=== Issues

None.

=== Version History

* Revision 1, 2023-08-01 (Jon Leech)
** Initial revision
5 changes: 4 additions & 1 deletion appendices/VK_KHR_video_decode_h264.adoc
Expand Up @@ -7,7 +7,7 @@ include::{generated}/meta/{refprefix}VK_KHR_video_decode_h264.adoc[]
=== Other Extension Metadata

*Last Modified Date*::
2022-09-29
2023-12-05
*IP Status*::
No known IP claims.
*Contributors*::
Expand Down Expand Up @@ -75,3 +75,6 @@ include::{generated}/interfaces/VK_KHR_video_decode_h264.adoc[]
* Revision 8, 2022-09-29 (Daniel Rakos)
** Change extension from `EXT` to `KHR`
** Extension is no longer provisional
* Revision 9, 2023-12-05 (Daniel Rakos)
** Condition reference picture setup based on the value of
`StdVideoDecodeH264PictureInfo::flags.is_reference`
5 changes: 4 additions & 1 deletion appendices/VK_KHR_video_decode_h265.adoc
Expand Up @@ -7,7 +7,7 @@ include::{generated}/meta/{refprefix}VK_KHR_video_decode_h265.adoc[]
=== Other Extension Metadata

*Last Modified Date*::
2022-11-14
2023-12-05
*IP Status*::
No known IP claims.
*Contributors*::
Expand Down Expand Up @@ -65,3 +65,6 @@ include::{generated}/interfaces/VK_KHR_video_decode_h265.adoc[]
* Revision 7, 2022-11-14 (Daniel Rakos)
** Change extension from `EXT` to `KHR`
** Extension is no longer provisional
* Revision 8, 2023-12-05 (Daniel Rakos)
** Condition reference picture setup based on the value of
`StdVideoDecodeH265PictureInfo::flags.IsReference`
9 changes: 8 additions & 1 deletion appendices/VK_KHR_video_decode_queue.adoc
Expand Up @@ -7,7 +7,7 @@ include::{generated}/meta/{refprefix}VK_KHR_video_decode_queue.adoc[]
=== Other Extension Metadata

*Last Modified Date*::
2022-09-29
2023-12-05
*IP Status*::
No known IP claims.
*Contributors*::
Expand Down Expand Up @@ -61,3 +61,10 @@ include::{generated}/interfaces/VK_KHR_video_decode_queue.adoc[]
** Add VkVideoDecodeUsageInfoKHR structure and related flags
* Revision 7, 2022-09-29 (Daniel Rakos)
** Extension is no longer provisional
* Revision 8, 2023-12-05 (Daniel Rakos)
** Require the specification of a reconstructed picture in all cases,
except when the video session was created with no DPB slots to match
shipping implementations
** Make DPB slot activation behavior codec-specific to continue allowing
application control over reference picture setup now that a
reconstructed picture is always mandatory
Expand Up @@ -2,12 +2,12 @@
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
2023-07-19
2023-12-05
*IP Status*::
No known IP claims.
*Contributors*::
Expand All @@ -22,14 +22,22 @@ include::{generated}/meta/{refprefix}VK_EXT_video_encode_h264.adoc[]
- Yang Liu, AMD
- Daniel Rakos, RasterGrid
- Aidan Fabius, Core Avionics & Industrial Inc.
- Lynne Iribarren, Independent

=== Description

This extension builds upon the `apiext:VK_KHR_video_encode_queue` extension
by adding support for encoding elementary video stream sequences compliant
with the H.264/AVC video compression standard.

include::{generated}/interfaces/VK_EXT_video_encode_h264.adoc[]
[NOTE]
.Note
====
This extension was promoted to `KHR` from the provisional extension
`VK_EXT_video_encode_h264`.
====

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

=== Version History

Expand Down Expand Up @@ -166,3 +174,9 @@ include::{generated}/interfaces/VK_EXT_video_encode_h264.adoc[]
** Fixed optionality of the array members of
`VkVideoEncodeH264SessionParametersAddInfoEXT`
** Fixed optionality of `VkVideoEncodeH264RateControlInfoEXT::flags`
* Revision 13, 2023-09-04 (Daniel Rakos)
** Change extension from `EXT` to `KHR`
** Extension is no longer provisional
* Revision 14, 2023-12-05 (Daniel Rakos)
** Condition reference picture setup based on the value of
`StdVideoEncodeH264PictureInfo::flags.is_reference`
Expand Up @@ -2,12 +2,12 @@
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
2023-07-19
2023-12-05
*IP Status*::
No known IP claims.
*Contributors*::
Expand All @@ -21,14 +21,22 @@ include::{generated}/meta/{refprefix}VK_EXT_video_encode_h265.adoc[]
- Ravi Chaudhary, NVIDIA
- Daniel Rakos, RasterGrid
- Aidan Fabius, Core Avionics & Industrial Inc.
- Lynne Iribarren, Independent

=== Description

This extension builds upon the `apiext:VK_KHR_video_encode_queue` extension
by adding support for encoding elementary video stream sequences compliant
with the H.265/HEVC video compression standard.

include::{generated}/interfaces/VK_EXT_video_encode_h265.adoc[]
[NOTE]
.Note
====
This extension was promoted to `KHR` from the provisional extension
`VK_EXT_video_encode_h265`.
====

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

=== Version History

Expand Down Expand Up @@ -80,7 +88,7 @@ include::{generated}/interfaces/VK_EXT_video_encode_h265.adoc[]
`VkVideoEncodeH265ReferenceListsInfoEXT` from `uint8_t` to `uint32_t`
** Changed the type of
`VkVideoEncodeH265RateControlInfoEXT::subLayerCount` and
`VkVideoEncodeH264RateControlLayerInfoEXT::temporalId` from `uint8_t`
`VkVideoEncodeH265RateControlLayerInfoEXT::temporalId` from `uint8_t`
to `uint32_t`
** Removed `VkVideoEncodeH265InputModeFlagsEXT` and
`VkVideoEncodeH265OutputModeFlagsEXT` as we only support
Expand All @@ -89,8 +97,8 @@ include::{generated}/interfaces/VK_EXT_video_encode_h265.adoc[]
`pStdPictureInfo`
** Rename `pSliceSegmentHeaderStd` in
`VkVideoEncodeH265NaluSliceSegmentInfoEXT` to `pStdSliceSegmentHeader`
** Rename `pReferenceFinalLists` in `VkVideoEncodeH264VclFrameInfoEXT` and
`VkVideoEncodeH264NaluSliceInfoEXT` to `pStdReferenceFinalLists`
** Rename `pReferenceFinalLists` in `VkVideoEncodeH265VclFrameInfoEXT` and
`VkVideoEncodeH265NaluSliceSegmentInfoEXT` to `pStdReferenceFinalLists`
** Removed the `slotIndex` member of `VkVideoEncodeH265DpbSlotInfoEXT` and
changed it to be chained to `VkVideoReferenceSlotInfoKHR`
** Replaced `VkVideoEncodeH265ReferenceListsInfoEXT` with the new Video
Expand Down Expand Up @@ -154,3 +162,9 @@ include::{generated}/interfaces/VK_EXT_video_encode_h265.adoc[]
** Fixed optionality of the array members of
`VkVideoEncodeH265SessionParametersAddInfoEXT`
** Fixed optionality of `VkVideoEncodeH265RateControlInfoEXT::flags`
* Revision 13, 2023-09-04 (Daniel Rakos)
** Change extension from `EXT` to `KHR`
** Extension is no longer provisional
* Revision 14, 2023-12-05 (Daniel Rakos)
** Condition reference picture setup based on the value of
`StdVideoEncodeH265PictureInfo::flags.is_reference`
27 changes: 11 additions & 16 deletions appendices/VK_KHR_video_encode_queue.adoc
Expand Up @@ -7,7 +7,7 @@ include::{generated}/meta/{refprefix}VK_KHR_video_encode_queue.adoc[]
=== Other Extension Metadata

*Last Modified Date*::
2023-07-19
2023-12-05
*IP Status*::
No known IP claims.
*Contributors*::
Expand All @@ -25,6 +25,7 @@ include::{generated}/meta/{refprefix}VK_KHR_video_encode_queue.adoc[]
- Daniel Rakos, RasterGrid
- Ping Liu, Intel
- Aidan Fabius, Core Avionics & Industrial Inc.
- Lynne Iribarren, Independent

=== Description

Expand All @@ -42,21 +43,6 @@ compression standards.

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

=== Issues

1) Why is there no `VK_PIPELINE_STAGE_VIDEO_ENCODE_BIT_KHR`?

*RESOLVED*: This extension requires `VK_KHR_synchronization2` because the
new access flags introduced did not fit in the 32-bit enum
`VkAccessFlagBits`.
Accordingly, all new pipeline stage and access flags have been added to the
corresponding 64-bit enum and no new flags have been added to the legacy
32-bit enums.
While the new pipeline stage flag introduced uses bit #27 which would also
fit in the legacy `VkPipelineStageFlagBits` enum, there is no real benefit
to include it.
Instead the bit is marked reserved.

=== Version History

* Revision 1, 2018-07-23 (Ahmed Abdelkhalek)
Expand Down Expand Up @@ -130,3 +116,12 @@ Instead the bit is marked reserved.
** Added `VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR`
query result status code and the related capability flag
`VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR`
* Revision 11, 2023-09-04 (Daniel Rakos)
** Extension is no longer provisional
* Revision 12, 2023-12-05 (Daniel Rakos)
** Require the specification of a reconstructed picture in all cases,
except when the video session was created with no DPB slots to match
shipping implementations
** Make DPB slot activation behavior codec-specific to continue allowing
application control over reference picture setup now that a
reconstructed picture is always mandatory

0 comments on commit 542718c

Please sign in to comment.