Merge branch '1.0' into 1.0-wsi_extensions

This commit is contained in:
Jon Leech 2016-04-01 03:07:24 -07:00
commit a177320ae7
13 changed files with 129 additions and 34 deletions

View File

@ -359,3 +359,58 @@ Other Commits:
* Fix ref page build to generate .3 targets in the right output
directory.
-----------------------------------------------------
Change log for April 1, 2016 Vulkan 1.0.8 spec update:
* Bump API patch number and header version number to 8 for this
update.
Github Issues:
* Specify in the validity language for flink:vkBeginCommandBuffer that
pname:commandBuffer mustnot: currently be pending execution (public
issue 96).
* Describe depth comparison using the correct temporary variable names
in the <<textures-depth-compare-operation,Depth Compare Operation>>
section (public issue 100).
* Clarify the order of descriptor update operations in the
flink:vkUpdateDescriptorSets command (public issue 115).
* Specify in the VK_KHR_swapchain extension that
flink:vkAcquireNextImageKHR's pname:semaphore and pname:fence
parameters cannot both be sname:VK_NULL_HANDLE (partly addresses,
but does not fully close, public issue 117 / internal issue 246).
* Change reference to the "lifetime" of a Vulkan command to
"duration", and define the "duration" term (public issue 135).
* Added valid usage language for slink:VkImageLayout to require both
pname:height and pname:depth to be 1 for 1D images and pname:depth
to be 1 for 2D images (public issue 137).
* Fix SPIR-V example code in the
<<descriptorsets-inputattachment,Input Attachment>> section to
properly decorate the code:InputAttachmentIndex (public issue 139).
* Fix reference to nonexistent pname:imageInfo in the description of
flink:VkWriteDescriptorSet to refer to pname:pImageInfo (public
issue 140).
Internal Issues:
* Link to the fixed-function vertex chapter from the drawing chapter
(internal issue #110)
* Fix typo in slink:VkImageCreateInfo validity language:
ptext:maxExtent.sampleCounts -> pname:sampleCounts (internal issue
249).
* Explain why the non-core token etext:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
is used in the example in the
<<synchronization-semaphores,Semaphores>> section (internal issue
251).
* Attempt to clarify in the VK_KHR_android_surface extension's
<<platformQuerySupport_android,Android Platform Support>> section
that there is no Android-specific WSI query, and why (internal issue
252).
Other Commits:
* Add missing language about ename:VK_INCOMPLETE being returned from
array queries when the passed array is too short, in the
VK_KHR_display, VK_KHR_swapchain, and VK_KHR_surface extensions.

View File

@ -126,7 +126,7 @@ INCLUDES := $(wildcard protos/*.txt structs/*.txt flags/*.txt enums/*.txt funcpo
COMMONDOCS := $(CHAPTERS) $(INCLUDES)
# A generated included file with the spec version, date, and git commit
SPECVERSION = specversion.txt
SPECREVISION = 1.0.7
SPECREVISION = 1.0.8
SPECREMARK =
# Spec targets

View File

@ -228,6 +228,10 @@ Drawing Commands::
flink:vkCmdDraw, flink:vkCmdDrawIndexed, flink:vkCmdDrawIndirect, and
flink:vkCmdDrawIndexedIndirect.
Duration (Command)::
The _duration_ of a {apiname} command refers to the interval between
calling the command and its return to the caller.
Dynamic Storage Buffer::
A storage buffer whose offset is specified each time the storage buffer
is bound to a command buffer via a descriptor set.

View File

@ -514,6 +514,7 @@ layout (input_attachment_index=i, set=m, binding=n) uniform subpassInput myInput
OpName %9 "myInputAttachment"
OpDecorate %9 DescriptorSet m
OpDecorate %9 Binding n
OpDecorate %9 InputAttachmentIndex i
%2 = OpTypeVoid
%3 = OpTypeFunction %2
%6 = OpTypeFloat 32
@ -1247,6 +1248,11 @@ include::../protos/vkUpdateDescriptorSets.txt[]
slink:VkCopyDescriptorSet structures describing the descriptor sets to
copy between.
The operations described by pname:pDescriptorWrites are performed first,
followed by the operations described by pname:pDescriptorCopies. Within
each array, the operations are performed in the order they appear in the
array.
include::../validity/protos/vkUpdateDescriptorSets.txt[]
Each element in the pname:pDescriptorWrites array describes an operation
@ -1293,7 +1299,8 @@ ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, or
ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the pname:pBufferInfo array
will be used to update the descriptors, and other arrays will be ignored.
Each entry is of type sname:VkDescriptorBufferInfo and is defined as:
Each element of pname:pBufferInfo is of type sname:VkDescriptorBufferInfo
and is defined as:
include::../structs/VkDescriptorBufferInfo.txt[]
@ -1321,10 +1328,10 @@ If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_SAMPLER,
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or
ename:VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the members in pname:pImageInfo
array will be used to update the descriptors, and other arrays will be
ignored. pname:imageInfo is of type sname:VkDescriptorImageInfo and is
defined as:
ename:VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the elements of the
pname:pImageInfo array will be used to update the descriptors, and other
arrays will be ignored. Each element of pname:pImageInfo is of type
sname:VkDescriptorImageInfo and is defined as:
include::../structs/VkDescriptorImageInfo.txt[]

View File

@ -360,7 +360,10 @@ Drawing commands fall roughly into two categories:
* Non-indexed drawing (fname:vkCmdDraw and fname:vkCmdDrawIndirect)
commands present a sequential code:vertexIndex to the vertex shader. The
sequential index is generated automatically by the device.
sequential index is generated automatically by the device (see
<<fxvertex,Fixed-Function Vertex Processing>> for details on both
specifying the vertex attributes indexed by code:vertexIndex, as well as
binding vertex buffers containing those attributes to a command buffer).
* Indexed drawing commands (fname:vkCmdDrawIndexed and
fname:vkCmdDrawIndexedIndirect) read index values from an _index buffer_ and use
this to compute the code:vertexIndex value for the vertex shader.

View File

@ -397,7 +397,7 @@ can: be destroyed:
[[fundamentals-commandsyntax]]
== Command Syntax
== Command Syntax and Duration
The Specification describes {apiname} commands as functions or procedures
using C99 syntax. Language bindings for other languages such as C++ and
@ -438,6 +438,9 @@ and/or outside a render pass, and in one or more of the supported queue
types. These restrictions are documented together with the definition of
each such command.
The _duration_ of a {apiname} command refers to the interval between calling
the command and its return to the caller.
[[fundamentals-threadingbehavior]]
== Threading Behavior

View File

@ -160,7 +160,7 @@ parameter and takes a value of type elink:VkSystemAllocationScope:
include::../enums/VkSystemAllocationScope.txt[]
* ename:VK_SYSTEM_ALLOCATION_SCOPE_COMMAND - The allocation is scoped to
the lifetime of the {apiname} command.
the duration of the {apiname} command.
* ename:VK_SYSTEM_ALLOCATION_SCOPE_OBJECT - The allocation is scoped to
the lifetime of the {apiname} object that is being created or used.
* ename:VK_SYSTEM_ALLOCATION_SCOPE_CACHE - The allocation is scoped to the

View File

@ -281,11 +281,11 @@ operation. For example, a sname:VkImageMemoryBarrier could use:
* pname:dstStageMask = ename:VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
* pname:dstAccessMask = ename:VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
ename:VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
* pname:oldLayout = ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
* pname:oldLayout = etext:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
* pname:newLayout = ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
Alternately, pname:oldLayout can: be ename:VK_IMAGE_LAYOUT_UNDEFINED, if
the image's contents need not be preserved.
Alternately, pname:oldLayout can: be ename:VK_IMAGE_LAYOUT_UNDEFINED, if the
image's contents need not be preserved.
This barrier accomplishes a dependency chain between previous presentation
operations and subsequent color attachment output operations, with the
@ -296,6 +296,10 @@ semaphore wait stalls the
ename:VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT stage, then there is a
dependency from that same stage to itself with the layout transition
performed in between.
(The primary use case for this example is with the presentation extensions,
thus the etext:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR token is used even though it
is not defined in the core {apiname} specification.)
====
When a queue signals or waits upon a semaphore, certain

View File

@ -611,38 +611,39 @@ the value of the sparse unbound texel is undefined.
[[textures-depth-compare-operation]]
=== Depth Compare Operation
If the image view's format is depth and the operation is a code:Dref
instruction, a depth comparison is performed. The initial value of the
result latexmath:[$r$] is latexmath:[$0.0$], which is replaced with
latexmath:[$1.0$] if the result of the compare operation is
latexmath:[$true$]. The compare operation is selected by the pname:compareOp
If the image view has a depth/stencil format, the depth component is
selected by the pname:aspectMask, and the operation is a code:Dref
instruction, a depth comparison is performed. The value of the
result latexmath:[$D$] is latexmath:[$1.0$] if the result of the
compare operation is latexmath:[$true$], and latexmath:[$0.0$]
otherwise. The compare operation is selected by the pname:compareOp
member of the sampler.
[latexmath]
+++++++++++++++++++
\begin{align*}
r & = 0.0 & \textrm{initial value} \\
r & = 1.0
D & = 1.0 &
\begin{cases}
D_{ref} \leq D_{t} & \textrm{for LEQUAL} \\
D_{ref} \geq D_{t} & \textrm{for GEQUAL} \\
D_{ref} < D_{t} & \textrm{for LESS} \\
D_{ref} > D_{t} & \textrm{for GREATER} \\
D_{ref} = D_{t} & \textrm{for EQUAL} \\
D_{ref} \neq D_{t} & \textrm{for NOTEQUAL} \\
true & \textrm{for ALWAYS} \\
false & \textrm{for NEVER}
\end{cases}
D_{ref} \leq D & \textrm{for LEQUAL} \\
D_{ref} \geq D & \textrm{for GEQUAL} \\
D_{ref} < D & \textrm{for LESS} \\
D_{ref} > D & \textrm{for GREATER} \\
D_{ref} = D & \textrm{for EQUAL} \\
D_{ref} \neq D & \textrm{for NOTEQUAL} \\
true & \textrm{for ALWAYS} \\
false & \textrm{for NEVER}
\end{cases} \\
D & = 0.0 & \textrm{otherwise}
\end{align*}
+++++++++++++++++++
where:
where, in the depth comparison:
[latexmath]
+++++++++++++++++++
\begin{align*}
& D_{ref} = shaderOp.D_{ref} & \textrm{(from optional SPIR-V operand)} \\
& D_{t} & \textrm{texel depth value}
& D & \textrm{texel depth value}
\end{align*}
+++++++++++++++++++

View File

@ -10,6 +10,7 @@ endif::doctype-manpage[]
* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle
* pname:pBeginInfo must: be a pointer to a valid sname:VkCommandBufferBeginInfo structure
* pname:commandBuffer mustnot: be in the recording state
* pname:commandBuffer mustnot: currently be pending execution
* If pname:commandBuffer was allocated from a sname:VkCommandPool which did not have the ename:VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT flag set, pname:commandBuffer must: be in the initial state.
* If pname:commandBuffer is a secondary command buffer, the pname:pInheritanceInfo member of pname:pBeginInfo must: be a valid sname:VkCommandBufferInheritanceInfo structure
* If pname:commandBuffer is a secondary command buffer and either the pname:occlusionQueryEnable member of the pname:pInheritanceInfo member of pname:pBeginInfo is ename:VK_FALSE, or the precise occlusion queries feature is not enabled, the pname:queryFlags member of the pname:pInheritanceInfo member pname:pBeginInfo mustnot: contain ename:VK_QUERY_CONTROL_PRECISE_BIT

View File

@ -29,10 +29,12 @@ endif::doctype-manpage[]
* If pname:imageType is ename:VK_IMAGE_TYPE_2D and pname:flags contains ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, pname:extent.width and pname:extent.height must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageDimensionCube, or sname:VkImageFormatProperties::pname:maxExtent.width/height (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure) - whichever is higher
* If pname:imageType is ename:VK_IMAGE_TYPE_2D and pname:flags contains ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, pname:extent.width and pname:extent.height must: be equal
* If pname:imageType is ename:VK_IMAGE_TYPE_3D, pname:extent.width, pname:extent.height and pname:extent.depth must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageDimension3D, or sname:VkImageFormatProperties::pname:maxExtent.width/height/depth (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure) - whichever is higher
* If pname:imageType is ename:VK_IMAGE_TYPE_1D, both pname:extent.height and pname:extent.depth must: be `1`
* If pname:imageType is ename:VK_IMAGE_TYPE_2D, pname:extent.depth must: be `1`
* pname:mipLevels must: be less than or equal to latexmath:[$\lfloor\log_2(\max(\mathit{extent.width}, \mathit{extent.height}, \mathit{extent.depth}))\rfloor + 1$]
* If any of pname:extent.width, pname:extent.height or pname:extent.depth are greater than the equivalently named members of sname:VkPhysicalDeviceLimits::pname:maxImageDimension3D, pname:mipLevels must: be less than or equal to sname:VkImageFormatProperties::pname:maxMipLevels (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure)
* pname:arrayLayers must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageArrayLayers, or sname:VkImageFormatProperties::pname:maxArrayLayers (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure) - whichever is higher
* pname:samples must: be a bit value that is set in sname:VkPhysicalDeviceLimits::pname:sampleCounts returned by flink:vkGetPhysicalDeviceProperties, or sname:VkImageFormatProperties::pname:maxExtent.sampleCounts returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure
* pname:samples must: be a bit value that is set in sname:VkPhysicalDeviceLimits::pname:sampleCounts returned by flink:vkGetPhysicalDeviceProperties, or sname:VkImageFormatProperties::pname:sampleCounts returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure
* If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, pname:extent.width must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferWidth
* If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, pname:extent.height must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferHeight
* If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, pname:samples must: be a bit value that is set in sname:VkPhysicalDeviceLimits::pname:maxFramebufferColorSamples

View File

@ -101,7 +101,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
<type category="define">// Vulkan 1.0 version number
#define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_VERSION</type>(1, 0, 0)</type> <!-- The patch version here should never be set to anything other than 0 -->
<type category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 7</type>
#define <name>VK_HEADER_VERSION</name> 8</type>
<type category="define">
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
@ -814,10 +814,12 @@ maintained in the master branch of the Khronos Vulkan Github project.
<usage>If pname:imageType is ename:VK_IMAGE_TYPE_2D and pname:flags contains ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, pname:extent.width and pname:extent.height must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageDimensionCube, or sname:VkImageFormatProperties::pname:maxExtent.width/height (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure) - whichever is higher</usage>
<usage>If pname:imageType is ename:VK_IMAGE_TYPE_2D and pname:flags contains ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, pname:extent.width and pname:extent.height must: be equal</usage>
<usage>If pname:imageType is ename:VK_IMAGE_TYPE_3D, pname:extent.width, pname:extent.height and pname:extent.depth must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageDimension3D, or sname:VkImageFormatProperties::pname:maxExtent.width/height/depth (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure) - whichever is higher</usage>
<usage>If pname:imageType is ename:VK_IMAGE_TYPE_1D, both pname:extent.height and pname:extent.depth must: be `1`</usage>
<usage>If pname:imageType is ename:VK_IMAGE_TYPE_2D, pname:extent.depth must: be `1`</usage>
<usage>pname:mipLevels must: be less than or equal to latexmath:[$\lfloor\log_2(\max(\mathit{extent.width}, \mathit{extent.height}, \mathit{extent.depth}))\rfloor + 1$]</usage>
<usage>If any of pname:extent.width, pname:extent.height or pname:extent.depth are greater than the equivalently named members of sname:VkPhysicalDeviceLimits::pname:maxImageDimension3D, pname:mipLevels must: be less than or equal to sname:VkImageFormatProperties::pname:maxMipLevels (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure)</usage>
<usage>pname:arrayLayers must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageArrayLayers, or sname:VkImageFormatProperties::pname:maxArrayLayers (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure) - whichever is higher</usage>
<usage>pname:samples must: be a bit value that is set in sname:VkPhysicalDeviceLimits::pname:sampleCounts returned by flink:vkGetPhysicalDeviceProperties, or sname:VkImageFormatProperties::pname:maxExtent.sampleCounts returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure</usage>
<usage>pname:samples must: be a bit value that is set in sname:VkPhysicalDeviceLimits::pname:sampleCounts returned by flink:vkGetPhysicalDeviceProperties, or sname:VkImageFormatProperties::pname:sampleCounts returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage and pname:flags equal to those in this structure</usage>
<usage>If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, pname:extent.width must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferWidth</usage>
<usage>If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, pname:extent.height must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferHeight</usage>
<usage>If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, pname:samples must: be a bit value that is set in sname:VkPhysicalDeviceLimits::pname:maxFramebufferColorSamples</usage>
@ -3738,6 +3740,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
<param>const <type>VkCommandBufferBeginInfo</type>* <name>pBeginInfo</name></param>
<validity>
<usage>pname:commandBuffer mustnot: be in the recording state</usage>
<usage>pname:commandBuffer mustnot: currently be pending execution</usage>
<usage>If pname:commandBuffer was allocated from a sname:VkCommandPool which did not have the ename:VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT flag set, pname:commandBuffer must: be in the initial state.</usage>
<usage>If pname:commandBuffer is a secondary command buffer, the pname:pInheritanceInfo member of pname:pBeginInfo must: be a valid sname:VkCommandBufferInheritanceInfo structure</usage>
<usage>If pname:commandBuffer is a secondary command buffer and either the pname:occlusionQueryEnable member of the pname:pInheritanceInfo member of pname:pBeginInfo is ename:VK_FALSE, or the precise occlusion queries feature is not enabled, the pname:queryFlags member of the pname:pInheritanceInfo member pname:pBeginInfo mustnot: contain ename:VK_QUERY_CONTROL_PRECISE_BIT</usage>
@ -5151,5 +5154,17 @@ maintained in the master branch of the Khronos Vulkan Github project.
<usage struct="VkSamplerCreateInfo">If either pname:magFilter or pname:minFilter is ename:VK_FILTER_CUBIC_IMG, pname:anisotropyEnable must: be ename:VK_FALSE</usage>
</require>
</extension>
<extension name="VK_AMD_extension_1" number="17" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
<require>
<enum value="0" name="VK_AMD_EXTENSION_1_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_extension_1&quot;" name="VK_AMD_EXTENSION_1_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_AMD_extension_2" number="18" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
<require>
<enum value="0" name="VK_AMD_EXTENSION_2_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_extension_2&quot;" name="VK_AMD_EXTENSION_2_EXTENSION_NAME"/>
</require>
</extension>
</extensions>
</registry>

View File

@ -50,7 +50,7 @@ extern "C" {
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
// Version of this file
#define VK_HEADER_VERSION 7
#define VK_HEADER_VERSION 8
#define VK_NULL_HANDLE 0