Skip to content

Commit

Permalink
Change log for October 6, 2023 Vulkan 1.3.267 spec update:
Browse files Browse the repository at this point in the history
Internal Issues

  * Detect old wording of boilerplate pname:pNext description in CI
    (internal issue 2186).
  * Clarify ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT with regard
    to queue submission (internal issue 3627).
  * Update apiext:VK_NV_low_latency2 pname:pInfo pointers to be `const`
    (internal issue 3637).
  * Add slink:VkDescriptorSetLayoutBindingFlagsCreateInfo and
    slink:VkDescriptorSetAllocateInfo VUs for
    ename:VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT (internal MR
    6127).
  * Consolidate VUs in `access_mask_2_common.adoc` (internal MR 6166).
  * Fix
    slink:VkGraphicsPipelineCreateInfo::pname:pColorBlendState->attachmentCount
    VU to apply only when the blend state is not dynamic (internal MR 6171).
  * Add missing object types to the <<debugging-object-types, VkObjectType
    and Vulkan Handle Relationship>> table (internal MR 6175).
  * Fix typo ("`Non-private`" -> "`Private`") in the description of
    <<memory-model-non-private, private memory operations obeying program
    order>> (internal MR 6176).
  * Add reflow test for list continuation in VUs (internal MR 6177).
  * Correct type of flink:vkQueueNotifyOutOfBandNV::pname:pQueueTypeInfo
    (internal MR 6179).
  * Add XML `len` attribute for slink:VkFrameBoundaryEXT::pname:pTag order>>
    (internal MR 6180).
  * Consolidate VUs for apiext:VK_ANDROID_external_format_resolve (internal
    MR 6183).
  * Upstream Vulkan SC 1.0.13 changes to this repository (internal vulkansc
    issue 179).

New Extensions

  * apiext:VK_EXT_nested_command_buffer
  * apiext:VK_NV_extended_sparse_address_space
  • Loading branch information
oddhack committed Oct 6, 2023
1 parent e5dbdd5 commit 66b95bd
Show file tree
Hide file tree
Showing 29 changed files with 816 additions and 202 deletions.
41 changes: 41 additions & 0 deletions ChangeLog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,47 @@ public pull requests that have been accepted.
"`VU`" as used below is an abbreviation for "`valid usage statement`", which
appears frequently in the change log.

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

Change log for October 6, 2023 Vulkan 1.3.267 spec update:

Internal Issues

* Detect old wording of boilerplate pname:pNext description in CI
(internal issue 2186).
* Clarify ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT with regard
to queue submission (internal issue 3627).
* Update apiext:VK_NV_low_latency2 pname:pInfo pointers to be `const`
(internal issue 3637).
* Add slink:VkDescriptorSetLayoutBindingFlagsCreateInfo and
slink:VkDescriptorSetAllocateInfo VUs for
ename:VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT (internal MR
6127).
* Consolidate VUs in `access_mask_2_common.adoc` (internal MR 6166).
* Fix
slink:VkGraphicsPipelineCreateInfo::pname:pColorBlendState->attachmentCount
VU to apply only when the blend state is not dynamic (internal MR 6171).
* Add missing object types to the <<debugging-object-types, VkObjectType
and Vulkan Handle Relationship>> table (internal MR 6175).
* Fix typo ("`Non-private`" -> "`Private`") in the description of
<<memory-model-non-private, private memory operations obeying program
order>> (internal MR 6176).
* Add reflow test for list continuation in VUs (internal MR 6177).
* Correct type of flink:vkQueueNotifyOutOfBandNV::pname:pQueueTypeInfo
(internal MR 6179).
* Add XML `len` attribute for slink:VkFrameBoundaryEXT::pname:pTag order>>
(internal MR 6180).
* Consolidate VUs for apiext:VK_ANDROID_external_format_resolve (internal
MR 6183).
* Upstream Vulkan SC 1.0.13 changes to this repository (internal vulkansc
issue 179).

New Extensions

* apiext:VK_EXT_nested_command_buffer
* apiext:VK_NV_extended_sparse_address_space


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

Change log for September 29, 2023 Vulkan 1.3.266 spec update:
Expand Down
41 changes: 41 additions & 0 deletions ChangeLogSC.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,47 @@ with any public pull requests that have been accepted.

-----------------------------------------------------
Change log for September 27, 2023 Vulkan SC 1.0.13 spec update:
* update release number to 13 for this update
Public issues:
* None
Internal issues:
* Merge fixes from sc_1_0 branch (!340,!344)
* Fix structextends for structures based on
VkDeviceObjectReservationCreateInfo (!330)
* Fix VUID 05152 typo (!333)
* Fix multiple JSON parser and schema issues (!331)
* Fix cast-qual warning in vulkan_json_parser.hpp (!335)
* Make VkFaultCallbackInfo pNext pointer-to-const (!342)
* Clarify vkEndCommandBuffer error behavior (#184/!346)
* Merge Vulkan main branch into sc_main (#168/!310)
* Merge the 1.3.235 - 1.3.240 Vulkan changes to sc_main (!332)
* Remove superfluous lines from the XML that are causing problems with
the Hpp build (!334)
* merge VK 1.3.243 to sc_main (!336)
* Merge 1.3.245 sources to sc_main (!341)
* Add combined registry tooling (!343)
* Pipeline cache data related VU changes (!345)
* Merge VK 1.3.252 to sc_main branch (!347)
* Fix handling of queue types with dependencies when generating
spec tables/VUs/etc. from them (!348)
* Merge VK 1.3.257 to sc_main (from 1.3.252) (!351)
* Address remaining layers/levels issues (#193/!350)
* Remove explicit VUs that are duplicate with implicit VUs (#192/!349)
* Disable `check-xrefs` by default for VKSC builds (!353)
New Extensions:
* apiext:VK_QNX_external_memory_screen_buffer (Vulkan public issue #2138)
-----------------------------------------------------

Change log for January 20, 2023 Vulkan SC 1.0.12 spec update:

* update release number to 12 for this update
Expand Down
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ allman: manhtmlpages
# Invokes all the automated checks, but CHECK_XREFS can be set to empty
# on the command line to avoid building an HTML spec target.
CHECK_XREFS = check-xrefs
ifeq ($(VULKAN_API),vulkansc)
CHECK_XREFS =
endif
allchecks: check-copyright-dates \
check-contractions \
check-spelling \
Expand Down Expand Up @@ -126,12 +129,12 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 266
PATCHVERSION = 267
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
VKSPECREVISION := 1.2.$(PATCHVERSION)
SCPATCHVERSION = 12
SCPATCHVERSION = 13
SPECREVISION = 1.0.$(SCPATCHVERSION)
BASEOPTS = -a baserevnumber="$(VKSPECREVISION)"
else
Expand Down
45 changes: 45 additions & 0 deletions appendices/VK_EXT_nested_command_buffer.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// Copyright 2023 The Khronos Group, Inc
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
2023-09-18
*Contributors*::
- Daniel Story, Nintendo
- Peter Kohaut, NVIDIA
- Shahbaz Youssefi, Google
- Slawomir Grajewski, Intel
- Stu Smith, AMD

=== Description

With core Vulkan it is not legal to call flink:vkCmdExecuteCommands when
recording a secondary command buffer.
This extension relaxes that restriction, allowing secondary command buffers
to execute other secondary command buffers.

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

=== Issues

1) The Command Buffer Levels property for the Vulkan commands comes from the
`cmdbufferlevel` attribute in `vk.xml` for the command, and it is currently
not possible to modify this attribute based on whether an extension is
enabled.
For this extension we want the `cmdbufferlevel` attribute for
vkCmdExecuteCommands to be `primary,secondary` when this extension is
enabled and `primary` otherwise.

*RESOLVED*: The `cmdbufferlevel` attribute for flink:vkCmdExecuteCommands
has been changed to `primary,secondary` and a new VUID added to prohibit
recording this command in a secondary command buffer unless this extension
is enabled.

=== Version History

* Revision 1, 2023-09-18 (Piers Daniell)
** Internal revisions
33 changes: 33 additions & 0 deletions appendices/VK_NV_extended_sparse_address_space.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright (c) 2023 NVIDIA Corporation
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
2023-10-03
*Contributors*::
- Russell Chou, NVIDIA
- Christoph Kubisch, NVIDIA
- Eric Werness, NVIDIA
- Jeff Bolz, NVIDIA

=== Description

Implementations may be able to support an extended address space for sparse
memory resources, but only for a certain set of usages.

This extension adds a query for the extended limit, and the supported usages
that are allowed for that limit.
This limit is an increase to
slink:VkPhysicalDeviceLimits::pname:sparseAddressSpaceSize when the
slink:VkImage or slink:VkBuffer uses only usages that are supported.

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

=== Version History

* Revision 1, 2023-10-03 (Russell Chou)
** Initial draft
2 changes: 1 addition & 1 deletion appendices/VK_QCOM_image_processing2.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ include::{generated}/meta/{refprefix}VK_QCOM_image_processing2.adoc[]
2023-03-10
*Interactions and External Dependencies*::
- This extension requires
{spirv}/QCOM/SPV_QCOM_image_processing.html[`SPV_QCOM_image_processing2`]
{spirv}/QCOM/SPV_QCOM_image_processing2.html[`SPV_QCOM_image_processing2`]
- This extension provides API support for
{GLSLregistry}/qcom/GLSL_QCOM_image_processing2.txt[`GL_QCOM_image_processing2`]

Expand Down
15 changes: 15 additions & 0 deletions appendices/glossary.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,14 @@ Command Buffer::
An object that records commands to be submitted to a queue.
Represented by a slink:VkCommandBuffer object.

ifdef::VK_EXT_nested_command_buffer[]
Command Buffer Nesting Level::
The Command Buffer Nesting Level of a secondary command buffer is equal
to the maximum nesting level of all secondary command buffers executed
by that command buffer plus one, where a secondary command buffer that
executes no other secondary command buffers has a nesting level of zero.
endif::VK_EXT_nested_command_buffer[]

Command Pool::
An object that command buffer memory is allocated from, and that owns
that memory.
Expand Down Expand Up @@ -1162,6 +1170,13 @@ Multi-planar::
multi-planar format.
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]

ifdef::VK_EXT_nested_command_buffer[]
Nested Command Buffers::
A nested command buffer is a secondary command buffer that is executed
by another secondary command buffer, which may itself execute other
secondary command buffers.
endif::VK_EXT_nested_command_buffer[]

Non-Dispatchable Handle::
A handle of an integer handle type.
Handle values may: not be unique, even for two objects of the same type.
Expand Down
2 changes: 1 addition & 1 deletion appendices/memorymodel.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,7 @@ More precisely, for private memory operations to be
<<memory-model-location-ordered,Location-Ordered>> between distinct agents
requires using system-synchronizes-with rather than shader-based
synchronization.
Non-private memory operations still obey program-order.
Private memory operations still obey program-order.

Atomic operations are always considered non-private.

Expand Down
3 changes: 2 additions & 1 deletion chapters/VK_KHR_object_refresh/copies.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ The sname:VkRefreshObjectListKHR structure is defined as:
include::{generated}/api/structs/VkRefreshObjectListKHR.adoc[]

* pname:sType is a elink:VkStructureType value identifying this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:pNext is `NULL` or a pointer to a structure extending this
structure.
* pname:objectCount is the number of objects to refresh.
* pname:pObjects is a pointer to an array of slink:VkRefreshObjectKHR
structures, defining the objects to refresh.
Expand Down
2 changes: 1 addition & 1 deletion chapters/clears.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ ifdef::VK_ANDROID_external_format_resolve[]
* [[VUID-vkCmdClearAttachments-aspectMask-09298]]
If the subpass this is recorded in performs an external format resolve,
the pname:aspectMask member of any element of pname:pAttachments must:
not include `VK_IMAGE_ASPECT_PLANE__{ibit}__BIT_EXT` for any index _i_
not include `VK_IMAGE_ASPECT_PLANE__{ibit}__BIT` for any index _i_
endif::VK_ANDROID_external_format_resolve[]
****

Expand Down
Loading

0 comments on commit 66b95bd

Please sign in to comment.