Skip to content

Commit

Permalink
Change log for March 1, 2024 Vulkan 1.3.279 spec update:
Browse files Browse the repository at this point in the history
Public Issues

  * Add a NOTE to the VK_IMG_format_pvrtc extension appendix specifying that
    PVRTC1 images must have power of two dimensions, and a corresponding VU
    to VkImageCreateInfo (public issue 1991).
  * Remove BETA ifdefs from video enums (public issue 2314).

Internal Issues

  * Clarify using multiple dynamic state to set vertex stride in the
    <<fxvertex-input-address-calculation, Vertex Input Address Calculation>>
    section (internal issue 3381).
  * Specify that reinterpreting images with unused format bits returns
    undefined values in the <<textures-operation-validation,
    Instruction/Sampler/Image View Validation>> and
    <<textures-output-format-conversion, Texel Output Format Conversion>>
    sections (internal issue 3591).
  * Remove redundant VkGraphicsPipelineCreateInfo multiView VUs (internal
    issue 3662).
  * Ensure that created descriptor set layouts are supported in
    vkCreateDescriptorSetLayout (internal issue 3676).
  * Clarify vkGetRenderingAreaGranularityKHR recommendations for optimal
    renderArea (internal issue 3702).
  * Fix link typo in vkRenderingFragmentDensityMapAttachmentInfoEXT
    multiview VU 07908 (internal issue 3714).
  * Tighten <<formats-without-shader-storage-format, Formats Without Shader
    Storage Format>> language regarding storage format support (internal
    issue 3777).
  * Clarify that VkPhysicalDeviceDriverProperties::conformanceVersion
    identifies the most recent version of CTS successfully passed (as
    opposed to requiring the driver to have passed a one-month review period
    and have been officially labelled conformant by the Vulkan working
    group) (internal issue 3780).
  * Provide more detailed description for VK_FORMAT_R16G16_S10_5_NV
    (internal issue 3788).
  * Fix swapped FeatureEnabled indices in the <<decode-av1-picture-info, Std
    Picture Information>> section (internal issue 3793).
  * Improve proposal template and style guide to clarify that the
    specification custom asciidoctor macros are not available in proposal
    documents (internal issue 3808).
  * Improvements and fixes for VK_NV_device_generated_commands_compute
    (internal MR 6410).
  * Fix parameter name typo in vkCmdControlVideoCodingKHR VU 08243 (internal
    MR 6426).
  * Clarify the default values of render pass mappings for
    vkCmdSetRenderingAttachmentLocationsKHR and
    VkRenderingInputAttachmentIndexInfoKHR (internal MR 6469).
  * Fix param name typo in VkRenderingFragmentDensityMapAttachmentInfoEXT VU
    06157 (internal MR 6483).
  * Fix VkMutableDescriptorTypeCreateInfoEXT ->
    VkMutableDescriptorTypeListEXT typo in the <<descriptorsets-mutable,
    Mutable>> introduction (internal MR 6484).
  * Fix VkGraphicsPipelineCreateInfo VU 08899 to refer to vertex input,
    rather than pre-rasterization state (internal MR 6501).
  * Add missing `type` attribute to some AV1 `<enum>` tags in `video.xml`
    (internal MR 6506).
  * Fix styleguide example markup that did not escape ifdef and endif macros
    (internal MR 6506).
  * Add a missing common pipeline barrier VU, and move the "`Explicit Render
    Pass Tile Image Access Synchronization`" section to the
    VK_EXT_shader_tile_image proposal document (internal MR 6510).

New Extensions

  * VK_NV_raw_access_chains
  • Loading branch information
oddhack committed Mar 1, 2024
1 parent 4b80f8f commit b8d528e
Show file tree
Hide file tree
Showing 32 changed files with 438 additions and 170 deletions.
70 changes: 70 additions & 0 deletions ChangeLog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,76 @@ appears frequently in the change log.

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

Change log for March 1, 2024 Vulkan 1.3.279 spec update:

Public Issues

* Add a NOTE to the VK_IMG_format_pvrtc extension appendix specifying that
PVRTC1 images must have power of two dimensions, and a corresponding VU
to VkImageCreateInfo (public issue 1991).
* Remove BETA ifdefs from video enums (public issue 2314).

Internal Issues

* Clarify using multiple dynamic state to set vertex stride in the
<<fxvertex-input-address-calculation, Vertex Input Address Calculation>>
section (internal issue 3381).
* Specify that reinterpreting images with unused format bits returns
undefined values in the <<textures-operation-validation,
Instruction/Sampler/Image View Validation>> and
<<textures-output-format-conversion, Texel Output Format Conversion>>
sections (internal issue 3591).
* Remove redundant VkGraphicsPipelineCreateInfo multiView VUs (internal
issue 3662).
* Ensure that created descriptor set layouts are supported in
vkCreateDescriptorSetLayout (internal issue 3676).
* Clarify vkGetRenderingAreaGranularityKHR recommendations for optimal
renderArea (internal issue 3702).
* Fix link typo in vkRenderingFragmentDensityMapAttachmentInfoEXT
multiview VU 07908 (internal issue 3714).
* Tighten <<formats-without-shader-storage-format, Formats Without Shader
Storage Format>> language regarding storage format support (internal
issue 3777).
* Clarify that VkPhysicalDeviceDriverProperties::conformanceVersion
identifies the most recent version of CTS successfully passed (as
opposed to requiring the driver to have passed a one-month review period
and have been officially labelled conformant by the Vulkan working
group) (internal issue 3780).
* Provide more detailed description for VK_FORMAT_R16G16_S10_5_NV
(internal issue 3788).
* Fix swapped FeatureEnabled indices in the <<decode-av1-picture-info, Std
Picture Information>> section (internal issue 3793).
* Improve proposal template and style guide to clarify that the
specification custom asciidoctor macros are not available in proposal
documents (internal issue 3808).
* Improvements and fixes for VK_NV_device_generated_commands_compute
(internal MR 6410).
* Fix parameter name typo in vkCmdControlVideoCodingKHR VU 08243 (internal
MR 6426).
* Clarify the default values of render pass mappings for
vkCmdSetRenderingAttachmentLocationsKHR and
VkRenderingInputAttachmentIndexInfoKHR (internal MR 6469).
* Fix param name typo in VkRenderingFragmentDensityMapAttachmentInfoEXT VU
06157 (internal MR 6483).
* Fix VkMutableDescriptorTypeCreateInfoEXT ->
VkMutableDescriptorTypeListEXT typo in the <<descriptorsets-mutable,
Mutable>> introduction (internal MR 6484).
* Fix VkGraphicsPipelineCreateInfo VU 08899 to refer to vertex input,
rather than pre-rasterization state (internal MR 6501).
* Add missing `type` attribute to some AV1 `<enum>` tags in `video.xml`
(internal MR 6506).
* Fix styleguide example markup that did not escape ifdef and endif macros
(internal MR 6506).
* Add a missing common pipeline barrier VU, and move the "`Explicit Render
Pass Tile Image Access Synchronization`" section to the
VK_EXT_shader_tile_image proposal document (internal MR 6510).

New Extensions

* VK_NV_raw_access_chains

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

Change log for February 16, 2024 Vulkan 1.3.278 spec update:

Public Issues
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 278
PATCHVERSION = 279
BASEOPTS =

ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS)))
Expand Down
2 changes: 1 addition & 1 deletion antora/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ setup_proposals: proposal_nav
# Construct the proposals nav.adoc from the current list of
# proposals, so it remains up to date.
# This could be merged into antora-prep.py but is very specific
# to the proposals so that's pointless.
# to the proposals so that is pointless.
proposal_nav:
scripts/antora-nav-proposals.py \
-root . \
Expand Down
7 changes: 7 additions & 0 deletions appendices/VK_IMG_format_pvrtc.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ include::{generated}/meta/{refprefix}VK_IMG_format_pvrtc.adoc[]
specific to Imagination Technologies PowerVR Texture compression format
(called PVRTC).

[NOTE]
.Note
====
As also noted in the <<data-format, Khronos Data Format Specification>>,
PVRTC1 images must have dimensions that are a power of two.
====

=== Deprecation

Both PVRTC1 and PVRTC2 are slower than standard image formats on PowerVR
Expand Down
33 changes: 33 additions & 0 deletions appendices/VK_NV_raw_access_chains.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2024 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
2023-12-04
*Interactions and External Dependencies*::
- This extension requires
{spirv}/NV/SPV_NV_raw_access_chains.html[`SPV_NV_raw_access_chains`]
*Contributors*::
- Hans-Kristian Arntzen, Valve
- Rodrigo Locatti, NVIDIA

=== Description

This extension allows the use of the `SPV_NV_raw_access_chains` extension in
SPIR-V shader modules.
This enables SPIR-V producers to efficiently implement interfaces similar to
Direct3D structured buffers and byte address buffers, allowing shaders
compiled from an HLSL source to generate more efficient code.

=== New SPIR-V Capabilities

* <<spirvenv-capabilities-table-RawAccessChainsNV,RawAccessChainsNV>>

=== Version History

* Revision 1, 2023-12-04 (Rodrigo Locatti)
** Initial revision
18 changes: 9 additions & 9 deletions appendices/spirvenv.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1042,35 +1042,35 @@ ifdef::VK_KHR_shader_float_controls2[]
If <<limits-shaderSignedZeroInfNanPreserveFloat16,
pname:shaderSignedZeroInfNanPreserveFloat16>> is ename:VK_FALSE then any
code:FPFastMathDefault execution mode with a type of 16-bit float must:
include the code:NSZ, code:NotInf, and code:NotNaN flags.
include the code:NSZ, code:NotInf, and code:NotNaN flags
* [[VUID-{refpage}-shaderSignedZeroInfNanPreserveFloat16-09560]]
If <<limits-shaderSignedZeroInfNanPreserveFloat16,
pname:shaderSignedZeroInfNanPreserveFloat16>> is ename:VK_FALSE then any
code:FPFastMath decoration on an instruction with result type or any
code:FPFastMathMode decoration on an instruction with result type or any
operand type that includes a 16-bit float must: include the code:NSZ,
code:NotInf, and code:NotNaN flags.
code:NotInf, and code:NotNaN flags
* [[VUID-{refpage}-shaderSignedZeroInfNanPreserveFloat32-09561]]
If <<limits-shaderSignedZeroInfNanPreserveFloat32,
pname:shaderSignedZeroInfNanPreserveFloat32>> is ename:VK_FALSE then any
code:FPFastMathDefault execution mode with a type of 32-bit float must:
include the code:NSZ, code:NotInf, and code:NotNaN flags.
include the code:NSZ, code:NotInf, and code:NotNaN flags
* [[VUID-{refpage}-shaderSignedZeroInfNanPreserveFloat32-09562]]
If <<limits-shaderSignedZeroInfNanPreserveFloat32,
pname:shaderSignedZeroInfNanPreserveFloat32>> is ename:VK_FALSE then any
code:FPFastMath decoration on an instruction with result type or any
code:FPFastMathMode decoration on an instruction with result type or any
operand type that includes a 32-bit float must: include the code:NSZ,
code:NotInf, and code:NotNaN flags.
code:NotInf, and code:NotNaN flags
* [[VUID-{refpage}-shaderSignedZeroInfNanPreserveFloat64-09563]]
If <<limits-shaderSignedZeroInfNanPreserveFloat64,
pname:shaderSignedZeroInfNanPreserveFloat64>> is ename:VK_FALSE then any
code:FPFastMathDefault execution mode with a type of 64-bit float must:
include the code:NSZ, code:NotInf, and code:NotNaN flags.
include the code:NSZ, code:NotInf, and code:NotNaN flags
* [[VUID-{refpage}-shaderSignedZeroInfNanPreserveFloat64-09564]]
If <<limits-shaderSignedZeroInfNanPreserveFloat64,
pname:shaderSignedZeroInfNanPreserveFloat64>> is ename:VK_FALSE then any
code:FPFastMath decoration on an instruction with result type or any
code:FPFastMathMode decoration on an instruction with result type or any
operand type that includes a 64-bit float must: include the code:NSZ,
code:NotInf, and code:NotNaN flags.
code:NotInf, and code:NotNaN flags
endif::VK_KHR_shader_float_controls2[]
ifdef::VK_EXT_transform_feedback[]
* [[VUID-{refpage}-Offset-06308]]
Expand Down
12 changes: 7 additions & 5 deletions chapters/VK_NV_device_generated_commands/generation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ include::{generated}/api/protos/vkGetGeneratedCommandsMemoryRequirementsNV.adoc[

* pname:device is the logical device that owns the buffer.
* pname:pInfo is a pointer to a
sname:VkGeneratedCommandsMemoryRequirementsInfoNV structure containing
slink:VkGeneratedCommandsMemoryRequirementsInfoNV structure containing
parameters required for the memory requirements query.
* pname:pMemoryRequirements is a pointer to a slink:VkMemoryRequirements2
structure in which the memory requirements of the buffer object are
Expand Down Expand Up @@ -277,9 +277,11 @@ include::{generated}/api/structs/VkGeneratedCommandsInfoNV.adoc[]
preprocessing the input data for execution.
If this structure is used with flink:vkCmdExecuteGeneratedCommandsNV
with its pname:isPreprocessed set to ename:VK_TRUE, then the
preprocessing step is skipped and data is only read from this buffer.
The contents and the layout of this buffer is opaque to applications and
must: not be modified or copied to another buffer for reuse.
preprocessing step is skipped and data in this buffer will not be
modified.
The contents and the layout of this buffer are opaque to applications
and must: not be modified outside functions related to device-generated
commands or copied to another buffer for reuse.
* pname:preprocessOffset is the byte offset into pname:preprocessBuffer
where the preprocessed data is stored.
* pname:preprocessSize is the maximum byte size within the
Expand Down Expand Up @@ -312,7 +314,7 @@ include::{generated}/api/structs/VkGeneratedCommandsInfoNV.adoc[]
* [[VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-02915]]
If the pname:indirectCommandsLayout uses a token of
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, then the
pname:pipeline`s sname:VkPipelineLayout must: match the
pname:pipeline's sname:VkPipelineLayout must: match the
slink:VkIndirectCommandsLayoutTokenNV::pname:pushconstantPipelineLayout
* [[VUID-VkGeneratedCommandsInfoNV-streamCount-02916]]
pname:streamCount must: match the pname:indirectCommandsLayout's
Expand Down
31 changes: 21 additions & 10 deletions chapters/VK_NV_device_generated_commands/indirectcommands.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ The device-side command generation happens through an iterative processing
of an atomic sequence comprised of command tokens, which are represented by:

include::{generated}/api/handles/VkIndirectCommandsLayoutNV.adoc[]

Each indirect command layout must: have exactly one action command token and
it must: be the last token in the sequence.
--


Expand All @@ -25,7 +28,7 @@ include::{generated}/api/protos/vkCreateIndirectCommandsLayoutNV.adoc[]
* pname:device is the logical device that creates the indirect command
layout.
* pname:pCreateInfo is a pointer to a
sname:VkIndirectCommandsLayoutCreateInfoNV structure containing
slink:VkIndirectCommandsLayoutCreateInfoNV structure containing
parameters affecting creation of the indirect command layout.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
Expand Down Expand Up @@ -124,12 +127,19 @@ endif::VK_NV_device_generated_commands_compute[]
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV it must: be the
first element of the array and there must: be only a single element of
such token type
ifdef::VK_NV_device_generated_commands_compute[]
* [[VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-09585]]
If pname:pTokens contains an entry of
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV it must: be the first
element of the array and there must: be only a single element of such
token type
endif::VK_NV_device_generated_commands_compute[]
* [[VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-02933]]
If pname:pTokens contains an entry of
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV there must: be only
a single element of such token type
* [[VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-02934]]
All state tokens in pname:pTokens must: occur before any work provoking
All state tokens in pname:pTokens must: occur before any action command
tokens (ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV,
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV,
ename:VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV,
Expand All @@ -139,13 +149,13 @@ ifdef::VK_NV_device_generated_commands_compute[]
endif::VK_NV_device_generated_commands_compute[]
)
* [[VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-02935]]
The content of pname:pTokens must: include one single work provoking
The content of pname:pTokens must: include one single action command
token that is compatible with the pname:pipelineBindPoint
* [[VUID-VkIndirectCommandsLayoutCreateInfoNV-streamCount-02936]]
pname:streamCount must: be greater than `0` and less or equal to
sname:VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::pname:maxIndirectCommandsStreamCount
* [[VUID-VkIndirectCommandsLayoutCreateInfoNV-pStreamStrides-02937]]
each element of pname:pStreamStrides must: be greater than `0`and less
each element of pname:pStreamStrides must: be greater than `0` and less
than or equal to
sname:VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::pname:maxIndirectCommandsStreamStride.
Furthermore the alignment of each token input must: be ensured
Expand Down Expand Up @@ -482,7 +492,7 @@ void cmdProcessAllSequences(cmd, pipeline, indirectCommandsLayout, pIndirectComm
----

The processing of each sequence is considered stateless, therefore all state
changes must: occur prior work provoking commands within the sequence.
changes must: occur before any action command tokens within the sequence.
A single sequence is strictly targeting the elink:VkPipelineBindPoint it was
created with.

Expand Down Expand Up @@ -535,7 +545,8 @@ include::{generated}/api/structs/VkIndirectCommandsLayoutTokenNV.adoc[]
* pname:sType is a elink:VkStructureType value identifying this structure.
* pname:pNext is `NULL` or a pointer to a structure extending this
structure.
* pname:tokenType specifies the token command type.
* pname:tokenType is a elink:VkIndirectCommandsTokenTypeNV specifying the
token command type.
* pname:stream is the index of the input stream containing the token
argument data.
* pname:offset is a relative starting offset within the input stream
Expand All @@ -551,13 +562,13 @@ include::{generated}/api/structs/VkIndirectCommandsLayoutTokenNV.adoc[]
* pname:pushconstantOffset is the offset used for the push constant
command.
* pname:pushconstantSize is the size used for the push constant command.
* pname:indirectStateFlags are the active states for the state flag
command.
* pname:indirectStateFlags is a tlink:VkIndirectStateFlagsNV bitfield
indicating the active states for the state flag command.
* pname:indexTypeCount is the optional size of the pname:pIndexTypes and
pname:pIndexTypeValues array pairings.
If not zero, it allows to register a custom `uint32_t` value to be
treated as specific ename:VkIndexType.
* pname:pIndexTypes is the used ename:VkIndexType for the corresponding
treated as specific elink:VkIndexType.
* pname:pIndexTypes is the used elink:VkIndexType for the corresponding
`uint32_t` value entry in pname:pIndexTypeValues.

.Valid Usage
Expand Down
13 changes: 13 additions & 0 deletions chapters/commonvalidity/pipeline_barrier_common.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,19 @@ endif::VK_KHR_dynamic_rendering_local_read[]
fname:{refpage} is called within a render pass instance started with
flink:vkCmdBeginRendering, there must: be no buffer or image memory
barriers specified by this command
* [[VUID-{refpage}-None-09586]]
If
ifdef::VK_KHR_dynamic_rendering_local_read[]
the <<features-dynamicRenderingLocalRead,
pname:dynamicRenderingLocalRead>> feature is not enabled, and
endif::VK_KHR_dynamic_rendering_local_read[]
fname:{refpage} is called within a render pass instance started with
flink:vkCmdBeginRendering, memory barriers specified by this command
must: only include ename:VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT,
ename:VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT,
ename:VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT, or
ename:VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT in their access
masks.
ifdef::VK_KHR_dynamic_rendering_local_read[]
* [[VUID-{refpage}-image-09555]]
If fname:{refpage} is called within a render pass instance started with
Expand Down
21 changes: 16 additions & 5 deletions chapters/descriptorsets.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -455,9 +455,8 @@ ifdef::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[]

A descriptor of _mutable_ (ename:VK_DESCRIPTOR_TYPE_MUTABLE_EXT) type
indicates that this descriptor can: mutate to any of the descriptor types
given in the
slink:VkMutableDescriptorTypeCreateInfoEXT::pname:pDescriptorTypes list of
descriptor types in the pname:pNext chain of
given in the slink:VkMutableDescriptorTypeListEXT::pname:pDescriptorTypes
list of descriptor types in the pname:pNext chain of
slink:VkDescriptorSetLayoutCreateInfo for this binding.
At any point, each individual descriptor of mutable type has an active
descriptor type.
Expand Down Expand Up @@ -561,9 +560,20 @@ include::{generated}/api/protos/vkCreateDescriptorSetLayout.adoc[]

include::{chapters}/commonvalidity/no_dynamic_allocations_common.adoc[]

ifdef::VKSC_VERSION_1_0[]
ifdef::VK_VERSION_1_1,VK_KHR_maintenance3,VKSC_VERSION_1_0[]
.Valid Usage
****
ifdef::VK_VERSION_1_1,VK_KHR_maintenance3[]
* [[VUID-vkCreateDescriptorSetLayout-support-09582]]
If the descriptor layout does not meet the limits reported through the
<<limits,physical device limits>>, then
flink:vkGetDescriptorSetLayoutSupport must return
slink:VkDescriptorSetLayoutSupport with pname:support equal to
ename:VK_TRUE for pname:pCreateInfo
endif::VK_VERSION_1_1,VK_KHR_maintenance3[]
ifdef::VKSC_VERSION_1_0[]
include::{chapters}/commonvalidity/memory_reservation_request_count_common.adoc[]
:uniqifier: layoutbindings
Expand All @@ -572,8 +582,9 @@ include::{chapters}/commonvalidity/memory_reservation_request_count_common.adoc[
:combinedobjectcount: pname:pCreateInfo->bindingCount
:combinedobjectnamecamelcase: descriptorSetLayoutBinding
include::{chapters}/commonvalidity/memory_reservation_request_count_combined_common.adoc[]
****
endif::VKSC_VERSION_1_0[]
****
endif::VK_VERSION_1_1,VK_KHR_maintenance3,VKSC_VERSION_1_0[]

include::{generated}/validity/protos/vkCreateDescriptorSetLayout.adoc[]
--
Expand Down
5 changes: 3 additions & 2 deletions chapters/devsandqueues.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -723,8 +723,9 @@ ifndef::VK_VERSION_1_2[:anchor-prefix:]
* pname:driverInfo is an array of ename:VK_MAX_DRIVER_INFO_SIZE code:char
containing a null-terminated UTF-8 string with additional information
about the driver.
* pname:conformanceVersion is the version of the Vulkan conformance test
this driver is conformant against (see slink:VkConformanceVersion).
* pname:conformanceVersion is the latest version of the Vulkan conformance
test that the implementor has successfully tested this driver against
prior to release (see slink:VkConformanceVersion).
// end::VK_KHR_driver_properties-properties[]

:refpage: VkPhysicalDeviceDriverProperties
Expand Down
Loading

0 comments on commit b8d528e

Please sign in to comment.