-
Notifications
You must be signed in to change notification settings - Fork 474
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change log for August 16, 2024 Vulkan 1.3.293 spec update:
Public Issues * Fix reference to VkPhysicalDeviceLimits::maxMemoryAllocationCount in VkMemoryAllocateInfo (public issue 2398). * Improve vkWriteMicromapsPropertiesEXT VUs 07573 and 07574, and remove incomplete VU 07575 (public issue 2399). * Fix markup in vkGetPhysicalDeviceDisplayPropertiesKHR so VkDisplayPropertiesKHR is formatted as a link (public issue 2401). * Merge multiple equivalent require blocks in XML and add a script to detect them (public pull request 2404). Internal Issues * Refactor and clarify a NOTE in VkSparseMemoryBind (internal issue 3938). * Require VK_EXT_sample_locations for vkCmdSetSampleLocationsEXT in common draw VU 06666 (internal issue 3944). * Update `scripts/extdependency.py` to compute version dependencies, and use this in the `makeSpec` script instead of a hardcoded list of version tokens required for the requested API version (internal MR 6823). * Add glossary entries for basic video coding block types (internal merge request 6765). * Add depthBoundsTestEnable language to the <<features-depthBounds, depthBounds>> feature description (internal merge request 6806). * Clarify VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT to better explain exactly what it is disabling (internal merge request 6812). * Fix VkLayerSettingEXT spec language and VU for VK_EXT_layer_settings (internal merge request 6817). * Use consistent wording to describe features including removal of un-needed "`set to`" when referring to a value that is not being set (internal merge request 6831). New Extensions * VK_NV_command_buffer_inheritance
- Loading branch information
Showing
27 changed files
with
449 additions
and
99 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
// Copyright 2024 The Khronos Group Inc. | ||
// | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
include::{generated}/meta/{refprefix}VK_NV_command_buffer_inheritance.adoc[] | ||
=== Other Extension Metadata | ||
|
||
*Last Modified Date*:: | ||
2024-02-15 | ||
*IP Status*:: | ||
No known IP claims. | ||
*Contributors*:: | ||
- Piers Daniell, NVIDIA | ||
- Daniel Story, Nintendo | ||
|
||
=== Description | ||
|
||
This extension allows applications to take advantage of the graphics and | ||
compute state that remains valid in the queue between executions of | ||
submitted command buffers. | ||
This works across both primary and secondary command buffers. | ||
|
||
The state inherited includes the previously bound pipeline state, previously | ||
bound shader objects, previously bound vertex and index buffers, previously | ||
bound descriptor sets and push constants, and all previously set dynamic | ||
state. | ||
|
||
This extension relaxes the requirement that all that state needs to be bound | ||
and set after begin command buffer and before the next draw or dispatch. | ||
|
||
By not having to set state that has been inherited applications can save | ||
both CPU and GPU cycles by not having to set state redundantly, and also | ||
have improved flexibility when reusing secondary command buffers. | ||
|
||
include::{generated}/interfaces/VK_NV_command_buffer_inheritance.adoc[] | ||
|
||
=== Issues | ||
|
||
1) How can the validation layer know when state is valid at draw or dispatch | ||
time if it is inherited at execution time? | ||
|
||
*RESOLVED*: Validation of invalid state at draw and dispatch time cannot be | ||
done while recording those commands. | ||
Instead the validation layer will need to keep track of any unset state when | ||
draw and dispatch commands are recorded, but not report an error at that | ||
time. | ||
It should also keep track of what state is valid at the end of each recorded | ||
command buffer. | ||
When secondary command buffer execution is recorded the validation layer can | ||
update its unset state tracking for that command buffer, and also for draw | ||
and dispatch commands recorded after execution of the secondary as they will | ||
inherit state from the executed secondary. | ||
This can be done recursively so every recorded primary command buffer has a | ||
final tally of any unset state used at draw and dispatch time. | ||
Finally when the primary is submitted to the queue the validation layer will | ||
know the previous primaries submitted to the queue and will know if there is | ||
any unset state used and can report the error then. | ||
|
||
=== Version History | ||
|
||
* Revision 1, 2024-02-15 (Lujin Wang) | ||
** Internal revisions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.