Skip to content

Commit

Permalink
Change log for July 21, 2023 Vulkan 1.3.259 spec update:
Browse files Browse the repository at this point in the history
Internal Issues

  * Remove dangling reference to nonexistent
    `StdVideoH265ShortTermRefPicsSps` in `video.xml` (internal issue 3565).
  * Rename ftext:vkCmdUpdatePipelineIndirectBuffer to
    flink:vkCmdUpdatePipelineIndirectBufferNV in the just-released
    apiext:VK_NV_device_generated_commands_compute extension (internal issue
    3568).
  * Add a CI check for undefined attributes in the spec build (internal
    issue 3567).
  • Loading branch information
oddhack committed Jul 22, 2023
1 parent 2c1e07a commit 3da7531
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 27 deletions.
25 changes: 20 additions & 5 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,27 @@ spec-generate:
script:
- NODE_PATH="/usr/lib/node_modules"
- export NODE_PATH
# Build the core-only spec, to try and catch ifdef errors in extension markup
- ./makeSpec -clean -spec core -genpath gencore QUIET= -j${nproc} -Otarget chunked html
# Build the actual spec (both chunked and single-page HTML), and other common targets
# Build the core-only spec, to catch some incorrect ifdef errors
- ./makeSpec -clean -spec core -genpath gencore QUIET= -j${nproc} -Otarget html
# Build the HTML/chunked spec and other common targets.
# The spec is built first and the build log checked for asciidoctor
# warnings that cannot be made into fatal errors.
- ./makeSpec -clean -spec all EXTRAATTRIBS='-a attribute-missing=warn' QUIET= html |& tee ERRS
- |+
if fgrep -q 'WARNING: skipping reference to missing attribute:' ERRS
then
echo 'Found missing (undefined) asciidoctor attributes'
echo 'These are probably from commonvalidity includes where attributes are not defined'
echo '----'
fgrep 'WARNING: skipping reference to missing attribute:' ERRS
false
else
true
fi
# Build the rest of the targets, without cleaning the output directory
- ./makeSpec -spec all QUIET= -j${nproc} -Otarget chunked manhtmlpages validusage styleguide registry
- ./makeSpec -clean -spec all QUIET= -j${nproc} -Otarget manhtmlpages validusage styleguide registry chunked html
# Check consistency of internal xrefs and anchors in the output, now
# that an HTML output is available
# Check consistency of internal xrefs and anchors in the HTML output
- make check-xrefs
# Build headers, for use by all later stages
- ( cd xml && make validate install test )
Expand Down
17 changes: 16 additions & 1 deletion ChangeLog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,21 @@ appears frequently in the change log.

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

Change log for July 21, 2023 Vulkan 1.3.259 spec update:

Internal Issues

* Remove dangling reference to nonexistent
`StdVideoH265ShortTermRefPicsSps` in `video.xml` (internal issue 3565).
* Rename ftext:vkCmdUpdatePipelineIndirectBuffer to
flink:vkCmdUpdatePipelineIndirectBufferNV in the just-released
apiext:VK_NV_device_generated_commands_compute extension (internal issue
3568).
* Add a CI check for undefined attributes in the spec build (internal
issue 3567).

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

Change log for July 21, 2023 Vulkan 1.3.258 spec update:

Github Issues
Expand Down Expand Up @@ -67,7 +82,7 @@ Internal Issues
New Extensions

* apiext:VK_EXT_host_image_copy
* apiext:VK_NV_device_generated_commands
* apiext:VK_NV_device_generated_commands_compute

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

Expand Down
7 changes: 4 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -118,20 +118,21 @@ VERBOSE =
# asciidoc attributes to set (defaults are usually OK)
# NOTEOPTS sets options controlling which NOTEs are generated
# PATCHVERSION must equal VK_HEADER_VERSION from vk.xml
# SCPATCHVERSION is specific to the Vulkan SC spec
# ATTRIBOPTS sets the API revision and enables KaTeX generation
# EXTRAATTRIBS sets additional attributes, if passed to make
# ADOCMISCOPTS miscellaneous options controlling error behavior, etc.
# ADOCEXTS asciidoctor extensions to load
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 258
PATCHVERSION = 259
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
VKSPECREVISION := 1.2.$(PATCHVERSION)
PATCHVERSION = 12
SPECREVISION = 1.0.$(PATCHVERSION)
SCPATCHVERSION = 12
SPECREVISION = 1.0.$(SCPATCHVERSION)
BASEOPTS = -a baserevnumber="$(VKSPECREVISION)"
else

Expand Down
6 changes: 5 additions & 1 deletion appendices/VK_NV_device_generated_commands_compute.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ include::{generated}/meta/{refprefix}VK_NV_device_generated_commands_compute.ado
=== Other Extension Metadata

*Last Modified Date*::
2023-06-09
2023-07-21
*Contributors*::
- Vikram Kushwaha, NVIDIA
- Jeff Bolz, NVIDIA
Expand All @@ -27,5 +27,9 @@ include::{generated}/interfaces/VK_NV_device_generated_commands_compute.adoc[]

=== Version History

* Revision 2, 2023-07-21 (Vikram Kushwaha)
** Rename vkCmdUpdatePipelineIndirectBuffer to
vkCmdUpdatePipelineIndirectBufferNV

* Revision 1, 2023-06-09 (Vikram Kushwaha)
** First Revision
2 changes: 1 addition & 1 deletion chapters/VK_NV_device_generated_commands/generation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ ifdef::VK_NV_device_generated_commands_compute[]
* [[VUID-VkGeneratedCommandsInfoNV-pipelineBindPoint-09086]]
If pname:pipelineBindPoint is of type
ename:VK_PIPELINE_BIND_POINT_COMPUTE, then
flink:vkCmdUpdatePipelineIndirectBuffer must: have been called on that
flink:vkCmdUpdatePipelineIndirectBufferNV must: have been called on that
pipeline to save its metadata to a device address
* [[VUID-VkGeneratedCommandsInfoNV-pipelineBindPoint-09087]]
If pname:pipelineBindPoint is of type
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ include::{generated}/api/structs/VkBindPipelineIndirectCommandNV.adoc[]
ename:VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
* [[VUID-VkBindPipelineIndirectCommandNV-None-09093]]
The referenced pipeline must: have been updated with
flink:vkCmdUpdatePipelineIndirectBuffer
flink:vkCmdUpdatePipelineIndirectBufferNV
* [[VUID-VkBindPipelineIndirectCommandNV-None-09094]]
The referenced pipeline's address must: have been queried with
flink:vkGetPipelineIndirectDeviceAddressNV
Expand Down
20 changes: 10 additions & 10 deletions chapters/pipelines.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1196,7 +1196,7 @@ If pname:pipelineDeviceAddressCaptureReplay is not zero, then it must: be an
address retrieved from an identically created pipeline on the same
implementation.
The pipeline metadata must: also be placed on an identically created buffer
and at the same offset using the flink:vkCmdUpdatePipelineIndirectBuffer
and at the same offset using the flink:vkCmdUpdatePipelineIndirectBufferNV
command.

.Valid Usage
Expand Down Expand Up @@ -1242,20 +1242,20 @@ command.
include::{generated}/validity/structs/VkComputePipelineIndirectBufferInfoNV.adoc[]
--

[open,refpage='vkCmdUpdatePipelineIndirectBuffer',desc='update the indirect compute pipeline metadata',type='protos']
[open,refpage='vkCmdUpdatePipelineIndirectBufferNV',desc='update the indirect compute pipeline metadata',type='protos']
--
To save a compute pipeline's metadata at a device address call:

include::{generated}/api/protos/vkCmdUpdatePipelineIndirectBuffer.adoc[]
include::{generated}/api/protos/vkCmdUpdatePipelineIndirectBufferNV.adoc[]

* pname:commandBuffer is the command buffer into which the command will be
recorded.
* pname:pipelineBindPoint is a elink:VkPipelineBindPoint value specifying
the type of pipeline whose metadata will be saved.
* pname:pipeline is the pipeline whose metadata will be saved.

fname:vkCmdUpdatePipelineIndirectBuffer is only allowed outside of a render
pass.
fname:vkCmdUpdatePipelineIndirectBufferNV is only allowed outside of a
render pass.
This command is treated as a "`transfer`" operation for the purposes of
synchronization barriers.
The writes to the address must: be synchronized using stages
Expand All @@ -1267,22 +1267,22 @@ results in preprocessing.

.Valid Usage
****
* [[VUID-vkCmdUpdatePipelineIndirectBuffer-pipelineBindPoint-09018]]
* [[VUID-vkCmdUpdatePipelineIndirectBufferNV-pipelineBindPoint-09018]]
pname:pipelineBindPoint must: be ename:VK_PIPELINE_BIND_POINT_COMPUTE
* [[VUID-vkCmdUpdatePipelineIndirectBuffer-pipeline-09019]]
* [[VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-09019]]
pname:pipeline must: have been created with
ename:VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV flag set
* [[VUID-vkCmdUpdatePipelineIndirectBuffer-pipeline-09020]]
* [[VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-09020]]
pname:pipeline must: have been created with
slink:VkComputePipelineIndirectBufferInfoNV structure specifying a valid
address where its metadata will be saved
* [[VUID-vkCmdUpdatePipelineIndirectBuffer-deviceGeneratedComputePipelines-09021]]
* [[VUID-vkCmdUpdatePipelineIndirectBufferNV-deviceGeneratedComputePipelines-09021]]
The <<features-deviceGeneratedComputePipelines,
sname:VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::pname:deviceGeneratedComputePipelines>>
feature must: be enabled
****

include::{generated}/validity/protos/vkCmdUpdatePipelineIndirectBuffer.adoc[]
include::{generated}/validity/protos/vkCmdUpdatePipelineIndirectBufferNV.adoc[]
--

endif::VK_NV_device_generated_commands_compute[]
Expand Down
1 change: 0 additions & 1 deletion xml/video.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1167,7 +1167,6 @@ The current public version of video.xml is maintained in the default branch
<type name="StdVideoH265SpsFlags"/>
<type name="StdVideoH265ShortTermRefPicSetFlags"/>
<type name="StdVideoH265ShortTermRefPicSet"/>
<type name="StdVideoH265ShortTermRefPicsSps"/>
<type name="StdVideoH265LongTermRefPicsSps"/>
<type name="StdVideoH265SequenceParameterSet"/>
<type name="StdVideoH265PpsFlags"/>
Expand Down
8 changes: 4 additions & 4 deletions xml/vk.xml
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ branch of the member gitlab server.
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>

<type api="vulkan" category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 258</type>
#define <name>VK_HEADER_VERSION</name> 259</type>
<type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type>
<type api="vulkansc" category="define">// Version of this file
Expand Down Expand Up @@ -11403,7 +11403,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param><type>VkDeviceSize</type> <name>offset</name></param>
</command>
<command queues="transfer,graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary" tasks="action">
<proto><type>void</type> <name>vkCmdUpdatePipelineIndirectBuffer</name></proto>
<proto><type>void</type> <name>vkCmdUpdatePipelineIndirectBufferNV</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param><type>VkPipelineBindPoint</type> <name>pipelineBindPoint</name></param>
<param><type>VkPipeline</type> <name>pipeline</name></param>
Expand Down Expand Up @@ -21698,7 +21698,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</extension>
<extension name="VK_NV_device_generated_commands_compute" number="429" type="device" depends="VK_NV_device_generated_commands" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="vulkan">
<require>
<enum value="1" name="VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION"/>
<enum value="2" name="VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION"/>
<enum value="&quot;VK_NV_device_generated_commands_compute&quot;" name="VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV"/>
Expand All @@ -21711,7 +21711,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkPipelineIndirectDeviceAddressInfoNV"/>
<type name="VkBindPipelineIndirectCommandNV"/>
<command name="vkGetPipelineIndirectMemoryRequirementsNV"/>
<command name="vkCmdUpdatePipelineIndirectBuffer"/>
<command name="vkCmdUpdatePipelineIndirectBufferNV"/>
<command name="vkGetPipelineIndirectDeviceAddressNV"/>
</require>
</extension>
Expand Down

0 comments on commit 3da7531

Please sign in to comment.