Change log for June 17, 2016 Vulkan 1.0.17 spec update:
* Bump API patch number and header version number to 17 for this update. Github Issues: * Update description of vertex shader reuse in <<shaders-vertex-execution>> (public issue 106). * Simplify validity language around pname:ppEnabledExtensionNames and pname:ppEnabledLayerNames (in the <<initialization-instances>> and <<devsandqueues-device-creation>> sections) (public issue 214). * Add missing validity rule to flink:vkCmdBeginRenderPass requiring compatibility between slink:VkAttachmentDescription pname:initalLayout members and the corresponding attached framebuffer images (public issue 233). * Fix Unicode arrows appearing in output instead of relational operators (public issue 239). * Correctly describe the required number of elements for code:TessLevelInner and code:TessLevelOuter arrays in the <<interfaces-builtin-variables,Built-In Variables>> section as two and four, respectively, instead of the other way around, and refer to this section from the <<tessellation,Tessellation>> chapter (public issue 246). Internal Issues: * Document deprecation of ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR in the VK_KHR_surface extension branch, and of ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the VK_EXT_debug_report branch (internal issue 328). * Added language to define what a valid usage statement is and should be, with a note about some apparent weirdnesses this might entail (internal issue 357). Other Commits: * Added missing ename:VK_ERROR_DEVICE_LOST error to flink:vkQueueBindSparse.
This commit is contained in:
parent
5de77cf663
commit
31018cf088
|
@ -752,3 +752,46 @@ Other Commits:
|
|||
header / validation layer / include autogeneration from XML,
|
||||
reducing platform dependencies.
|
||||
|
||||
-----------------------------------------------------
|
||||
|
||||
Change log for June 17, 2016 Vulkan 1.0.17 spec update:
|
||||
|
||||
* Bump API patch number and header version number to 17 for this
|
||||
update.
|
||||
|
||||
Github Issues:
|
||||
|
||||
* Update description of vertex shader reuse in
|
||||
<<shaders-vertex-execution>> (public issue 106).
|
||||
* Simplify validity language around pname:ppEnabledExtensionNames and
|
||||
pname:ppEnabledLayerNames (in the <<initialization-instances>> and
|
||||
<<devsandqueues-device-creation>> sections) (public issue 214).
|
||||
* Add missing validity rule to flink:vkCmdBeginRenderPass requiring
|
||||
compatibility between slink:VkAttachmentDescription pname:initalLayout
|
||||
members and the corresponding attached framebuffer images (public issue
|
||||
233).
|
||||
* Fix Unicode arrows appearing in output instead of relational operators
|
||||
(public issue 239).
|
||||
* Correctly describe the required number of elements for
|
||||
code:TessLevelInner and code:TessLevelOuter arrays in the
|
||||
<<interfaces-builtin-variables,Built-In Variables>> section as two and
|
||||
four, respectively, instead of the other way around, and refer to this
|
||||
section from the <<tessellation,Tessellation>> chapter (public issue
|
||||
246).
|
||||
|
||||
Internal Issues:
|
||||
|
||||
* Document deprecation of ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR in the
|
||||
VK_KHR_surface extension branch, and of
|
||||
ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the
|
||||
VK_EXT_debug_report branch (internal issue 328).
|
||||
* Added language to define what a valid usage statement is and should be,
|
||||
with a note about some apparent weirdnesses this might entail (internal
|
||||
issue 357).
|
||||
|
||||
Other Commits:
|
||||
|
||||
* Added missing ename:VK_ERROR_DEVICE_LOST error to
|
||||
flink:vkQueueBindSparse.
|
||||
|
||||
|
||||
|
|
|
@ -125,7 +125,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.16
|
||||
SPECREVISION = 1.0.17
|
||||
SPECREMARK =
|
||||
|
||||
# Spec targets
|
||||
|
|
|
@ -543,6 +543,40 @@ validation layers by default.
|
|||
[[fundamentals-validusage]]
|
||||
=== Valid Usage
|
||||
|
||||
Valid usage defines a set of conditions which must: be met in order to achieve
|
||||
well-defined run-time behavior in an application. These conditions depend only
|
||||
on Vulkan state, and the parameters or objects whose usage is constrained by
|
||||
the condition.
|
||||
|
||||
Some valid usage conditions have dependencies on run-time limits or feature
|
||||
availability. It is possible to validate these conditions against Vulkan's
|
||||
minimum supported values for these limits and features, or some subset of
|
||||
other known values.
|
||||
|
||||
Valid usage conditions do not cover conditions where well-defined behavior
|
||||
(including returning an error code) exists.
|
||||
|
||||
Valid usage conditions should: apply to the command or structure where
|
||||
complete information about the condition would be known during execution of
|
||||
an application. This is such that a validation layer or linter can: be
|
||||
written directly against these statements at the point they are specified.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
This does lead to some non-obvious places for valid usage statements. For
|
||||
instance, the valid values for a structure might depend on a separate value
|
||||
in the calling command. In this case, the structure itself will not
|
||||
reference this valid usage as it is impossible to determine validity from
|
||||
the structure that it is invalid - instead this valid usage would be
|
||||
attached to the calling command.
|
||||
|
||||
Another example is draw state - the state setters are independent, and can
|
||||
cause a legitimately invalid state configuration between draw calls; so the
|
||||
valid usage statements are attached to the place where all state needs to be
|
||||
valid - at the draw command.
|
||||
====
|
||||
|
||||
Certain usage rules apply to all commands in the API unless explicitly
|
||||
denoted differently for a command. These rules are as follows.
|
||||
|
||||
|
|
|
@ -139,7 +139,10 @@ include::../validity/structs/VkInstanceCreateInfo.txt[]
|
|||
fname:vkCreateInstance creates the instance, then enables and initializes
|
||||
global layers and extensions requested by the application. If an extension
|
||||
is provided by a layer, both the layer and extension must: be specified at
|
||||
fname:vkCreateInstance time.
|
||||
fname:vkCreateInstance time. If a specified layer cannot be found, no
|
||||
sname:VkInstance will be created and the function will return
|
||||
ename:VK_ERROR_LAYER_NOT_PRESENT. Likewise, if a specified extension cannot be found
|
||||
the call will return ename:VK_ERROR_EXTENSION_NOT_PRESENT.
|
||||
|
||||
The pname:pApplicationInfo member of slink:VkInstanceCreateInfo can: point
|
||||
to an instance of sname:VkApplicationInfo.
|
||||
|
@ -165,7 +168,7 @@ include::../structs/VkApplicationInfo.txt[]
|
|||
<<fundamentals-versionnum,API Version Numbers and Semantics>> section.
|
||||
If pname:apiVersion is 0 the implementation must: ignore it, otherwise
|
||||
if the implementation does not support the requested pname:apiVersion it
|
||||
must: return VK_ERROR_INCOMPATIBLE_DRIVER. The patch version number
|
||||
must: return ename:VK_ERROR_INCOMPATIBLE_DRIVER. The patch version number
|
||||
specified in pname:apiVersion is ignored when creating an instance
|
||||
object. Only the major and minor versions of the instance must: match
|
||||
those requested in pname:apiVersion.
|
||||
|
|
|
@ -1112,32 +1112,32 @@ code:TessLevelOuter::
|
|||
|
||||
The code:TessLevelOuter decoration is used in tessellation control
|
||||
shaders to decorate an output variable to contain the outer tessellation
|
||||
factor for the resulting patch. This value is used by the tessellator
|
||||
factors for the resulting patch. These values are used by the tessellator
|
||||
to control primitive tessellation and can: be read by
|
||||
tessellation evaluation shaders. When applied to an input variable in a
|
||||
tessellation evaluation shader, the shader can: read the value written by
|
||||
tessellation evaluation shader, the shader can: read the values written by
|
||||
the tessellation control shader.
|
||||
+
|
||||
The code:TessLevelOuter decoration must: be used only within
|
||||
tessellation control and evaluation shaders.
|
||||
+
|
||||
code:TessLevelOuter must: be declared as an array of size two,
|
||||
code:TessLevelOuter must: be declared as an array of size four,
|
||||
containing 32-bit floating-point values.
|
||||
|
||||
code:TessLevelInner::
|
||||
|
||||
The code:TessLevelInner decoration is used in tessellation control
|
||||
shaders to decorate an output variable to contain the inner tessellation
|
||||
factor for the resulting patch. This value is used by the tessellator to
|
||||
factors for the resulting patch. These values are used by the tessellator to
|
||||
control primitive tessellation and can: be read by
|
||||
tessellation evaluation shaders. When applied to an input variable in a
|
||||
tessellation evaluation shader, the shader can: read the value written by
|
||||
tessellation evaluation shader, the shader can: read the values written by
|
||||
the tessellation control shader.
|
||||
+
|
||||
The code:TessLevelInner decoration must: be used only within
|
||||
tessellation control and evaluation shaders.
|
||||
+
|
||||
code:TessLevelInner must: be declared as an array of size four,
|
||||
code:TessLevelInner must: be declared as an array of size two,
|
||||
containing 32-bit floating-point values.
|
||||
|
||||
code:VertexIndex::
|
||||
|
|
|
@ -212,20 +212,21 @@ the vertex and instance for which it has been invoked. Input variables
|
|||
declared in the vertex shader are filled by the implementation with the
|
||||
values of vertex attributes associated with the invocation being executed.
|
||||
|
||||
If a vertex is a part of more than one input primitive, for example
|
||||
by including the same index value multiple times in an index buffer, the
|
||||
vertex shader may: be invoked only once and the results shared amongst the
|
||||
resulting primitives. This is known as _vertex reuse_.
|
||||
If the same vertex is specified multiple times in a draw command (e.g.
|
||||
by including the same index value multiple times in an index buffer) the
|
||||
implementation may: reuse the results of vertex shading if it can statically
|
||||
determine that the vertex shader invocations will produce identical results.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
==================
|
||||
It is implementation-dependent when and if results of vertex shading are
|
||||
reused, and thus how many times the vertex shader will be executed. This
|
||||
is true also if the vertex shader contains stores or atomic operations
|
||||
(see <<features-features-vertexPipelineStoresAndAtomics,
|
||||
pname:vertexPipelineStoresAndAtomics>>).
|
||||
==================
|
||||
|
||||
ifdef::implementation-guide[]
|
||||
.Implementor's Note
|
||||
****
|
||||
If a vertex is repeated in a draw command (i.e. the same index is repeated
|
||||
in an indexed draw), the shader may: be executed anywhere from one to the
|
||||
number of repetitions times for that vertex, depending on the
|
||||
implementation's ability to reuse shader results.
|
||||
****
|
||||
endif::implementation-guide[]
|
||||
|
||||
|
||||
[[shaders-tessellation-control]]
|
||||
|
|
|
@ -22,8 +22,11 @@ If a pipeline includes both tessellation shaders (control and evaluation),
|
|||
the tessellator consumes each input patch (after vertex shading) and
|
||||
produces a new set of independent primitives (points, lines, or triangles).
|
||||
These primitives are logically produced by subdividing a geometric primitive
|
||||
(rectangle or triangle) according to the per-patch tessellation levels
|
||||
written by the tessellation control shader. This subdivision is performed in
|
||||
(rectangle or triangle) according to the per-patch outer and inner
|
||||
tessellation levels written by the tessellation control shader. These levels
|
||||
are specified using the <<interfaces-builtin-variables,built-in variables>>
|
||||
code:TessLevelOuter and code:TessLevelInner, respectively.
|
||||
This subdivision is performed in
|
||||
an implementation-dependent manner. If no tessellation shaders are present
|
||||
in the pipeline, the tessellator is disabled and incoming primitives are
|
||||
passed through without modification.
|
||||
|
|
|
@ -35,6 +35,33 @@ include::../structs/VkDeviceCreateInfo.txt[]
|
|||
|
||||
include::../validity/protos/vkCreateDevice.txt[]
|
||||
|
||||
* pname:sType is the type of this structure.
|
||||
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
|
||||
* pname:flags is reserved for future use.
|
||||
* pname:queueCreateInfoCount is the unsigned integer size of the
|
||||
pname:pQueueCreateInfos array. Refer to the
|
||||
<<devsandqueues-queue-creation,Queue Creation>> section below for
|
||||
further details.
|
||||
* pname:pQueueCreateInfos is a pointer to an array of
|
||||
slink:VkDeviceQueueCreateInfo structures describing the queues that are
|
||||
requested to be created along with the logical device. Refer to the
|
||||
<<devsandqueues-queue-creation,Queue Creation>> section below for
|
||||
further details.
|
||||
* pname:enabledLayerCount is deprecated and ignored.
|
||||
* pname:ppEnabledLayerNames is deprecated and ignored. See
|
||||
<<extended-functionality-device-layer-deprecation,Device Layer Deprecation>>.
|
||||
* pname:enabledExtensionCount is the number of device extensions to
|
||||
enable.
|
||||
* pname:ppEnabledExtensionNames is a pointer to an array of
|
||||
pname:enabledExtensionCount null-terminated UTF-8 strings containing the
|
||||
names of extensions to enable for the created device. See the
|
||||
<<extended-functionality-extensions,Extensions>> section for further
|
||||
details.
|
||||
* pname:pEnabledFeatures is `NULL` or a pointer to a
|
||||
slink:VkPhysicalDeviceFeatures structure that contains boolean
|
||||
indicators of all the features to be enabled. Refer to the
|
||||
<<features-features,Features>> section for further details.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
|
|
|
@ -42,13 +42,16 @@ The pname:enabledLayerNameCount member of sname:VkInstanceCreateInfo specifies t
|
|||
to enable, and pname:ppEnabledLayerNames is a pointer to an array of pname:enabledLayerNameCount
|
||||
code:NULL-terminated UTF-8 strings containing the names of layers
|
||||
that should be enabled globally. If pname:enabledLayerNameCount is zero, then pname:ppEnabledLayerNames
|
||||
is ignored and no global layers are enabled.
|
||||
is ignored and no global layers are enabled. If a layer cannot be found, the
|
||||
call will not create a sname:VkInstance and will return ename:VK_ERROR_LAYER_NOT_PRESENT.
|
||||
|
||||
Similary, information about global extensions is specified in the pname:enabledExtensionNameCount and
|
||||
pname:ppEnabledExtensionNames members. pname:enabledExtensionNameCount specifies the number of global
|
||||
extensions to enable and pname:ppEnabledExtensionNames is a pointer to an array of pointers
|
||||
to code:NULL-terminated UTF-8 strings containing the extension names. If an extension is provided
|
||||
by a layer, both the layer and extension must be specified at fname:vkCreateInstance time.
|
||||
by a layer, both the layer and extension must be specified at
|
||||
fname:vkCreateInstance time. If a extension cannot be found, the call will not
|
||||
create a sname:VkInstance and will return ename:VK_ERROR_LAYER_NOT_PRESENT.
|
||||
|
||||
If pname:enabledExtensionNameCount is zero then no extensions are enabled and pname:ppEnabledExtensionNames
|
||||
is ignored.
|
||||
|
|
|
@ -14,11 +14,12 @@ endif::doctype-manpage[]
|
|||
* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations
|
||||
* This command must: only be called outside of a render pass instance
|
||||
* pname:commandBuffer must: be a primary sname:VkCommandBuffer
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_SAMPLED_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_SAMPLED_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT set
|
||||
* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT set
|
||||
* If any of the pname:initialLayout members of the sname:VkAttachmentDescription structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is not one of ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED, then each such pname:initialLayout must: be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin.
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
endif::doctype-manpage[]
|
||||
|
|
|
@ -77,6 +77,7 @@ On failure, this command returns::
|
|||
endif::doctype-manpage[]
|
||||
* ename:VK_ERROR_OUT_OF_HOST_MEMORY
|
||||
* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY
|
||||
* ename:VK_ERROR_DEVICE_LOST
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
endif::doctype-manpage[]
|
||||
|
|
|
@ -15,9 +15,6 @@ endif::doctype-manpage[]
|
|||
* If pname:enabledExtensionCount is not `0`, pname:ppEnabledExtensionNames must: be a pointer to an array of pname:enabledExtensionCount null-terminated strings
|
||||
* If pname:pEnabledFeatures is not `NULL`, pname:pEnabledFeatures must: be a pointer to a valid sname:VkPhysicalDeviceFeatures structure
|
||||
* pname:queueCreateInfoCount must: be greater than `0`
|
||||
* pname:ppEnabledLayerNames must: either be sname:NULL or contain the same sequence of layer names that was enabled when creating the parent instance
|
||||
* Any given element of pname:ppEnabledExtensionNames must: be the name of an extension present on the system, exactly matching a string returned in the sname:VkExtensionProperties structure by fname:vkEnumerateDeviceExtensionProperties
|
||||
* If an extension listed in pname:ppEnabledExtensionNames is provided as part of a layer, then both the layer and extension must: be enabled to enable that extension
|
||||
* The pname:queueFamilyIndex member of any given element of pname:pQueueCreateInfos must: be unique within pname:pQueueCreateInfos
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
|
|
|
@ -13,9 +13,6 @@ endif::doctype-manpage[]
|
|||
* If pname:pApplicationInfo is not `NULL`, pname:pApplicationInfo must: be a pointer to a valid sname:VkApplicationInfo structure
|
||||
* If pname:enabledLayerCount is not `0`, pname:ppEnabledLayerNames must: be a pointer to an array of pname:enabledLayerCount null-terminated strings
|
||||
* If pname:enabledExtensionCount is not `0`, pname:ppEnabledExtensionNames must: be a pointer to an array of pname:enabledExtensionCount null-terminated strings
|
||||
* Any given element of pname:ppEnabledLayerNames must: be the name of a layer present on the system, exactly matching a string returned in the sname:VkLayerProperties structure by fname:vkEnumerateInstanceLayerProperties
|
||||
* Any given element of pname:ppEnabledExtensionNames must: be the name of an extension present on the system, exactly matching a string returned in the sname:VkExtensionProperties structure by fname:vkEnumerateInstanceExtensionProperties
|
||||
* If an extension listed in pname:ppEnabledExtensionNames is provided as part of a layer, then both the layer and extension must: be enabled to enable that extension
|
||||
ifndef::doctype-manpage[]
|
||||
********************************************************************************
|
||||
endif::doctype-manpage[]
|
||||
|
|
157
src/spec/vk.xml
157
src/spec/vk.xml
|
@ -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> 16</type>
|
||||
#define <name>VK_HEADER_VERSION</name> 17</type>
|
||||
|
||||
<type category="define">
|
||||
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
||||
|
@ -505,9 +505,6 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
<member len="enabledExtensionCount,null-terminated">const <type>char</type>* const* <name>ppEnabledExtensionNames</name></member>
|
||||
<member optional="true">const <type>VkPhysicalDeviceFeatures</type>* <name>pEnabledFeatures</name></member>
|
||||
<validity>
|
||||
<usage>pname:ppEnabledLayerNames must: either be sname:NULL or contain the same sequence of layer names that was enabled when creating the parent instance</usage>
|
||||
<usage>Any given element of pname:ppEnabledExtensionNames must: be the name of an extension present on the system, exactly matching a string returned in the sname:VkExtensionProperties structure by fname:vkEnumerateDeviceExtensionProperties</usage>
|
||||
<usage>If an extension listed in pname:ppEnabledExtensionNames is provided as part of a layer, then both the layer and extension must: be enabled to enable that extension</usage>
|
||||
<usage>The pname:queueFamilyIndex member of any given element of pname:pQueueCreateInfos must: be unique within pname:pQueueCreateInfos</usage>
|
||||
</validity>
|
||||
</type>
|
||||
|
@ -521,9 +518,6 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
<member optional="true"><type>uint32_t</type> <name>enabledExtensionCount</name></member>
|
||||
<member len="enabledExtensionCount,null-terminated">const <type>char</type>* const* <name>ppEnabledExtensionNames</name></member> <!-- Extension names to be enabled -->
|
||||
<validity>
|
||||
<usage>Any given element of pname:ppEnabledLayerNames must: be the name of a layer present on the system, exactly matching a string returned in the sname:VkLayerProperties structure by fname:vkEnumerateInstanceLayerProperties</usage>
|
||||
<usage>Any given element of pname:ppEnabledExtensionNames must: be the name of an extension present on the system, exactly matching a string returned in the sname:VkExtensionProperties structure by fname:vkEnumerateInstanceExtensionProperties</usage>
|
||||
<usage>If an extension listed in pname:ppEnabledExtensionNames is provided as part of a layer, then both the layer and extension must: be enabled to enable that extension</usage>
|
||||
</validity>
|
||||
</type>
|
||||
<type category="struct" name="VkQueueFamilyProperties" returnedonly="true">
|
||||
|
@ -3261,7 +3255,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
<usage>If pname:usage includes ename:VK_IMAGE_USAGE_STORAGE_BIT, samples must: be one of the bit flags specified in sname:VkPhysicalDeviceLimits::pname:storageImageSampleCounts</usage>
|
||||
</validity>
|
||||
</command>
|
||||
<command queues="sparse_binding" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
|
||||
<command queues="sparse_binding" successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST">
|
||||
<proto><type>VkResult</type> <name>vkQueueBindSparse</name></proto>
|
||||
<param externsync="true"><type>VkQueue</type> <name>queue</name></param>
|
||||
<param optional="true"><type>uint32_t</type> <name>bindInfoCount</name></param>
|
||||
|
@ -4471,11 +4465,12 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
<param>const <type>VkRenderPassBeginInfo</type>* <name>pRenderPassBegin</name></param>
|
||||
<param><type>VkSubpassContents</type> <name>contents</name></param>
|
||||
<validity>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_SAMPLED_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then the corresponding attachment image of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_SAMPLED_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT set</usage>
|
||||
<usage>If any of the pname:initialLayout members of the sname:VkAttachmentDescription structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is not one of ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED, then each such pname:initialLayout must: be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin.</usage>
|
||||
</validity>
|
||||
</command>
|
||||
<command queues="graphics" renderpass="inside" cmdbufferlevel="primary">
|
||||
|
@ -5053,7 +5048,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
</require>
|
||||
</feature>
|
||||
|
||||
<!-- SECTION: Vulkan extension interface definitions (none yet) -->
|
||||
<!-- SECTION: Vulkan extension interface definitions -->
|
||||
<extensions>
|
||||
<!-- WSI extensions -->
|
||||
<extension name="VK_KHR_surface" number="1" supported="vulkan">
|
||||
|
@ -5194,7 +5189,7 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
</extension>
|
||||
<extension name="VK_EXT_debug_report" number="12" author="Google, Inc." contact="Courtney Goeltzenleuchter @courtney" supported="vulkan">
|
||||
<require>
|
||||
<enum value="2" name="VK_EXT_DEBUG_REPORT_SPEC_VERSION"/>
|
||||
<enum value="3" name="VK_EXT_DEBUG_REPORT_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_debug_report"" name="VK_EXT_DEBUG_REPORT_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"/>
|
||||
<enum offset="1" dir="-" extends="VkResult" name="VK_ERROR_VALIDATION_FAILED_EXT"/>
|
||||
|
@ -5249,16 +5244,16 @@ 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">
|
||||
<extension name="VK_AMD_extension_17" number="17" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_1_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_1"" name="VK_AMD_EXTENSION_1_EXTENSION_NAME"/>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_17_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_17"" name="VK_AMD_EXTENSION_17_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_2" number="18" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<extension name="VK_AMD_extension_18" number="18" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_2_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_2"" name="VK_AMD_EXTENSION_2_EXTENSION_NAME"/>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_18_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_18"" name="VK_AMD_EXTENSION_18_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_rasterization_order" number="19" author="AMD" contact="Daniel Rakos @aqnuep" supported="vulkan">
|
||||
|
@ -5270,10 +5265,10 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
<type name="VkPipelineRasterizationStateRasterizationOrderAMD"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_4" number="20" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<extension name="VK_AMD_extension_20" number="20" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_4_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_4"" name="VK_AMD_EXTENSION_4_EXTENSION_NAME"/>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_20_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_20"" name="VK_AMD_EXTENSION_20_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_shader_trinary_minmax" number="21" author="AMD" contact="quentin.lin@amd.com" supported="vulkan">
|
||||
|
@ -5305,16 +5300,16 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
<command name="vkCmdDebugMarkerInsertEXT"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_7" number="24" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<extension name="VK_AMD_extension_24" number="24" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_7_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_7"" name="VK_AMD_EXTENSION_7_EXTENSION_NAME"/>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_24_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_24"" name="VK_AMD_EXTENSION_24_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_8" number="25" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<extension name="VK_AMD_extension_25" number="25" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_8_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_8"" name="VK_AMD_EXTENSION_8_EXTENSION_NAME"/>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_25_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_25"" name="VK_AMD_EXTENSION_25_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_gcn_shader" number="26" author="AMD" contact="dominik.witczak@amd.com" supported="vulkan">
|
||||
|
@ -5353,5 +5348,107 @@ maintained in the master branch of the Khronos Vulkan Github project.
|
|||
<enum value=""VK_NVX_extension_31"" name="VK_NVX_EXTENSION_31_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_32" number="32" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_32_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_32"" name="VK_AMD_EXTENSION_32_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_33" number="33" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_33_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_33"" name="VK_AMD_EXTENSION_33_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_34" number="34" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_34_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_34"" name="VK_AMD_EXTENSION_34_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_35" number="35" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_35_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_35"" name="VK_AMD_EXTENSION_35_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_36" number="36" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_36_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_36"" name="VK_AMD_EXTENSION_36_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_37" number="37" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_37_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_37"" name="VK_AMD_EXTENSION_37_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_38" number="38" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_38_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_38"" name="VK_AMD_EXTENSION_38_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_39" number="39" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_39_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_39"" name="VK_AMD_EXTENSION_39_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_40" number="40" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_40_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_40"" name="VK_AMD_EXTENSION_40_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_41" number="41" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_41_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_41"" name="VK_AMD_EXTENSION_41_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_42" number="42" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_42_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_42"" name="VK_AMD_EXTENSION_42_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_43" number="43" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_43_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_43"" name="VK_AMD_EXTENSION_43_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_44" number="44" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_44_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_44"" name="VK_AMD_EXTENSION_44_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_45" number="45" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_45_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_45"" name="VK_AMD_EXTENSION_45_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_46" number="46" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_46_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_46"" name="VK_AMD_EXTENSION_46_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_47" number="47" author="AMD" contact="Daniel Rakos @aqnuep" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_47_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_47"" name="VK_AMD_EXTENSION_47_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_NVX_extension_48" number="48" author="NVIDIA" contact="James Jones @cubanismo" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_NVX_EXTENSION_48_SPEC_VERSION"/>
|
||||
<enum value=""VK_NVX_extension_48"" name="VK_NVX_EXTENSION_48_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
</extensions>
|
||||
</registry>
|
||||
|
|
|
@ -43,7 +43,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 16
|
||||
#define VK_HEADER_VERSION 17
|
||||
|
||||
|
||||
#define VK_NULL_HANDLE 0
|
||||
|
@ -3715,7 +3715,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(
|
|||
#define VK_EXT_debug_report 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
|
||||
|
||||
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 2
|
||||
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 3
|
||||
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
|
||||
#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
|
||||
|
||||
|
|
Loading…
Reference in New Issue