diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 32c701b64..102fa28ee 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 ) diff --git a/ChangeLog.adoc b/ChangeLog.adoc index d27b90d7e..3c4a6034d 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -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 @@ -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 ----------------------------------------------------- diff --git a/Makefile b/Makefile index 2852d9a34..537be885a 100644 --- a/Makefile +++ b/Makefile @@ -118,6 +118,7 @@ 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. @@ -125,13 +126,13 @@ VERBOSE = # 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 diff --git a/appendices/VK_NV_device_generated_commands_compute.adoc b/appendices/VK_NV_device_generated_commands_compute.adoc index 31a249e8a..bc55bdec6 100755 --- a/appendices/VK_NV_device_generated_commands_compute.adoc +++ b/appendices/VK_NV_device_generated_commands_compute.adoc @@ -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 @@ -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 diff --git a/chapters/VK_NV_device_generated_commands/generation.adoc b/chapters/VK_NV_device_generated_commands/generation.adoc index 171dffbf0..f61c89bb2 100644 --- a/chapters/VK_NV_device_generated_commands/generation.adoc +++ b/chapters/VK_NV_device_generated_commands/generation.adoc @@ -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 diff --git a/chapters/VK_NV_device_generated_commands/indirectcommands.adoc b/chapters/VK_NV_device_generated_commands/indirectcommands.adoc index 88df25b2d..8830b69ac 100644 --- a/chapters/VK_NV_device_generated_commands/indirectcommands.adoc +++ b/chapters/VK_NV_device_generated_commands/indirectcommands.adoc @@ -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 diff --git a/chapters/pipelines.adoc b/chapters/pipelines.adoc index 460e1bee7..f6b242065 100644 --- a/chapters/pipelines.adoc +++ b/chapters/pipelines.adoc @@ -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 @@ -1242,11 +1242,11 @@ 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. @@ -1254,8 +1254,8 @@ include::{generated}/api/protos/vkCmdUpdatePipelineIndirectBuffer.adoc[] 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 @@ -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 <> feature must: be enabled **** -include::{generated}/validity/protos/vkCmdUpdatePipelineIndirectBuffer.adoc[] +include::{generated}/validity/protos/vkCmdUpdatePipelineIndirectBufferNV.adoc[] -- endif::VK_NV_device_generated_commands_compute[] diff --git a/xml/video.xml b/xml/video.xml index 11b70cae3..bb534c39e 100644 --- a/xml/video.xml +++ b/xml/video.xml @@ -1167,7 +1167,6 @@ The current public version of video.xml is maintained in the default branch - diff --git a/xml/vk.xml b/xml/vk.xml index f8e93be9c..5488ca7c7 100644 --- a/xml/vk.xml +++ b/xml/vk.xml @@ -175,7 +175,7 @@ branch of the member gitlab server. #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 258 +#define VK_HEADER_VERSION 259 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) // Version of this file @@ -11403,7 +11403,7 @@ typedef void* MTLSharedEvent_id; VkDeviceSize offset - void vkCmdUpdatePipelineIndirectBuffer + void vkCmdUpdatePipelineIndirectBufferNV VkCommandBuffer commandBuffer VkPipelineBindPoint pipelineBindPoint VkPipeline pipeline @@ -21698,7 +21698,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21711,7 +21711,7 @@ typedef void* MTLSharedEvent_id; - +