Change log for August 1, 2017 Vulkan 1.0.57 spec update:
* Bump API patch number and header version number to 57 for this update. Github Issues: * Fix error in description of ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK block size (public issue 342). * Update documentation of ename:VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT to explicitly mention both graphics and compute pipelines (public issue 525). Internal Issues: * Document that slink:VkPhysicalDeviceLimits::pname:framebufferColorSampleCounts does not cover integer formats (internal issue 550). * Add a note under slink:VkImageViewCreateInfo describing how values meant for one format can be sanitized when used via another format (internal issue 927). * Add valid usage statements to ftext:vkCmd* documenting that image subresources used as attachments must not be accessed as non-attachments in a render pass (internal issue 929). * Remove obsolete 'validextensionstructs' attribute from +vk.xml+, the XML schema, and the schema documentation (internal issue 946). New Extensions: * `VK_AMD_mixed_attachment_samples` * `VK_EXT_post_depth_coverage` * `VK_KHR_relaxed_block_layout` * `VK_NV_depth_range_unrestricted`
This commit is contained in:
parent
80af5ce5a2
commit
c8c0862dee
|
@ -8,6 +8,74 @@ public issues.
|
|||
|
||||
-----------------------------------------------------
|
||||
|
||||
Change log for August 1, 2017 Vulkan 1.0.57 spec update:
|
||||
|
||||
* Bump API patch number and header version number to 57 for this update.
|
||||
|
||||
Github Issues:
|
||||
|
||||
* Fix error in description of ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
|
||||
block size (public issue 342).
|
||||
* Update documentation of ename:VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT
|
||||
to explicitly mention both graphics and compute pipelines (public issue
|
||||
525).
|
||||
|
||||
Internal Issues:
|
||||
|
||||
* Document that
|
||||
slink:VkPhysicalDeviceLimits::pname:framebufferColorSampleCounts does
|
||||
not cover integer formats (internal issue 550).
|
||||
* Add a note under slink:VkImageViewCreateInfo describing how values meant
|
||||
for one format can be sanitized when used via another format (internal
|
||||
issue 927).
|
||||
* Add valid usage statements to ftext:vkCmd* documenting that image
|
||||
subresources used as attachments must not be accessed as non-attachments
|
||||
in a render pass (internal issue 929).
|
||||
* Remove obsolete 'validextensionstructs' attribute from +vk.xml+, the XML
|
||||
schema, and the schema documentation (internal issue 946).
|
||||
|
||||
New Extensions:
|
||||
|
||||
* `VK_AMD_mixed_attachment_samples`
|
||||
* `VK_EXT_post_depth_coverage`
|
||||
* `VK_KHR_relaxed_block_layout`
|
||||
* `VK_NV_depth_range_unrestricted`
|
||||
|
||||
-----------------------------------------------------
|
||||
|
||||
Change log for July 21, 2017 Vulkan 1.0.56 spec update:
|
||||
|
||||
* Bump API patch number and header version number to 56 for this update.
|
||||
|
||||
Github Issues:
|
||||
|
||||
* Add valid usage statements for commands introduced by
|
||||
`VK_EXT_debug_report` and `VK_EXT_debug_marker` extensions, regarding
|
||||
the valid pname:object and pname:objectType values (public issue 495).
|
||||
* Modify `GL_KHR_vulkan_glsl` specification to document that uniform and
|
||||
buffer block arrays each take only a single binding (public issue 514).
|
||||
* Add `KHX` author tag to +vk.xml+ (public issue 526).
|
||||
|
||||
Internal Issues:
|
||||
|
||||
* Document use of code: macro for non-Vulkan APIs in the style guide
|
||||
(internal issue 863).
|
||||
* Document that reference page open block delimiters must not contain
|
||||
asciidoc section markup in the style guide (internal issue 898).
|
||||
* Fix <<spirvenv,SPIR-V appendix>> to say
|
||||
code:VariablePointersStorageBuffer instead of
|
||||
code:VariablePointersUniformBufferBlock (internal issue 928).
|
||||
|
||||
Other Commits:
|
||||
|
||||
* Add missing extension structures to dependency attributes in +vk.xml+.
|
||||
|
||||
New Extenions:
|
||||
|
||||
* `VK_EXT_depth_range_unrestricted`
|
||||
|
||||
-----------------------------------------------------
|
||||
|
||||
Change log for July 15, 2017 Vulkan 1.0.55 spec update:
|
||||
|
||||
* Bump API patch number and header version number to 55 for this update.
|
||||
|
|
|
@ -87,7 +87,7 @@ VERBOSE =
|
|||
# $(EXTENSIONS))
|
||||
# ADOCOPTS options for asciidoc->HTML5 output
|
||||
NOTEOPTS = -a editing-notes -a implementation-guide
|
||||
SPECREVISION = 1.0.56
|
||||
SPECREVISION = 1.0.57
|
||||
# Spell out RFC2822 format as not all date commands support -R
|
||||
SPECDATE = $(shell echo `date -u "+%a, %d %b %Y %T %z"`)
|
||||
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
[[VK_AMD_mixed_attachment_samples]]
|
||||
== VK_AMD_mixed_attachment_samples
|
||||
|
||||
*Name String*::
|
||||
+VK_AMD_mixed_attachment_samples+
|
||||
*Extension Type*::
|
||||
Device extension
|
||||
*Registered Extension Number*::
|
||||
137
|
||||
*Status*::
|
||||
Complete
|
||||
*Last Modified Date*::
|
||||
2017-07-24
|
||||
*Revision*::
|
||||
1
|
||||
*Dependencies*::
|
||||
- This extension is written against version 1.0 of the Vulkan API.
|
||||
*Contributors*::
|
||||
- Mais Alnasser, AMD
|
||||
- Matthaeus G.
|
||||
Chajdas, AMD
|
||||
- Maciej Jesionowski, AMD
|
||||
- Daniel Rakos, AMD
|
||||
*Contacts*::
|
||||
- Matthaeus G.
|
||||
Chajdas (matthaeus.chajdas@amd.com)
|
||||
*Overview*::
|
||||
|
||||
This extension enables applications to use multisampled rendering with a
|
||||
depth/stencil sample count that is larger than the color sample count.
|
||||
Having a depth/stencil sample count larger than the color sample count
|
||||
allows maintaining geometry and coverage information at a higher sample rate
|
||||
than color information.
|
||||
All samples are depth/stencil tested, but only the first color sample count
|
||||
number of samples get a corresponding color output.
|
||||
|
||||
=== New Object Types
|
||||
|
||||
None.
|
||||
|
||||
=== New Enum Constants
|
||||
|
||||
None.
|
||||
|
||||
=== New Enums
|
||||
|
||||
None.
|
||||
|
||||
=== New Structures
|
||||
|
||||
None.
|
||||
|
||||
=== New Functions
|
||||
|
||||
None.
|
||||
|
||||
=== Issues
|
||||
|
||||
None.
|
||||
|
||||
=== Version History
|
||||
|
||||
* Revision 1, 2017-07-24 (Daniel Rakos)
|
||||
- Internal revisions
|
|
@ -0,0 +1,92 @@
|
|||
[[VK_EXT_post_depth_coverage]]
|
||||
== VK_EXT_post_depth_coverage
|
||||
*Name String*::
|
||||
VK_EXT_post_depth_coverage
|
||||
*Extension Type*::
|
||||
Device extension
|
||||
*Registered Extension Number*::
|
||||
156
|
||||
*Status*::
|
||||
Complete
|
||||
*Last Modified Data*::
|
||||
2017-07-17
|
||||
*Revision*::
|
||||
1
|
||||
*Dependencies*::
|
||||
- This extension is written against version 1.0 of the Vulkan API.
|
||||
- This extension requires Vulkan 1.0.
|
||||
- This extension requires the
|
||||
https://www.khronos.org/registry/spir-v/extensions/KHR/SPV_KHR_post_depth_coverage.html[+SPV_KHR_post_depth_coverage+]
|
||||
SPIR-V extension.
|
||||
- This extension requires
|
||||
https://www.opengl.org/registry/specs/ARB/post_depth_coverage.txt[+GL_ARB_post_depth_coverage+]
|
||||
or
|
||||
https://www.opengl.org/registry/specs/EXT/post_depth_coverage.txt[+GL_EXT_post_depth_coverage+]
|
||||
for GLSL-based source languages.
|
||||
*Contributors*::
|
||||
- Jeff Bolz, NVIDIA
|
||||
*Contact*::
|
||||
- Daniel Koch (dkoch 'at' nvidia.com)
|
||||
|
||||
This extension adds support for the following SPIR-V extension in Vulkan:
|
||||
|
||||
* SPV_KHR_post_depth_coverage
|
||||
|
||||
which allows the fragment shader to control whether values in the
|
||||
code:SampleMask built-in input variable reflect the coverage after the
|
||||
<<fragops-early,early per-fragment>> depth and stencil tests are applied.
|
||||
|
||||
This extension adds a new code:PostDepthCoverage execution mode under the
|
||||
code:SampleMaskPostDepthCoverage capability.
|
||||
When this mode is specified along with code:EarlyFragmentTests, the value of
|
||||
an input variable decorated with the
|
||||
<<interfaces-builtin-variables-samplemask, code:SampleMask>> built-in
|
||||
reflects the coverage after the <<shaders-fragment-earlytest, early fragment
|
||||
tests>> are applied.
|
||||
Otherwise, it reflects the coverage before the depth and stencil tests.
|
||||
|
||||
When using GLSL source-based shading languages, the code:post_depth_coverage
|
||||
layout qualifier from GL_ARB_post_depth_coverage or
|
||||
GL_EXT_post_depth_coverage maps to the code:PostDepthCoverage execution
|
||||
mode.
|
||||
|
||||
=== New Object Types
|
||||
|
||||
None.
|
||||
|
||||
=== New Enum Constants
|
||||
|
||||
None.
|
||||
|
||||
=== New Enums
|
||||
|
||||
None.
|
||||
|
||||
=== New Structures
|
||||
|
||||
None.
|
||||
|
||||
=== New Functions
|
||||
|
||||
None.
|
||||
|
||||
=== New Built-In Variables
|
||||
|
||||
None.
|
||||
|
||||
=== New Variable Decoration
|
||||
|
||||
None.
|
||||
|
||||
=== New SPIR-V Capabilities
|
||||
|
||||
* <<spirvenv-capabilities-table-postdepthcoverage,SampleMaskPostDepthCoverage>>
|
||||
|
||||
=== Issues
|
||||
|
||||
None yet.
|
||||
|
||||
=== Version History
|
||||
|
||||
* Revision 1, 2017-07-17 (Daniel Koch)
|
||||
- Internal revisions
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright (c) 2016-2017 Khronos Group. This work is licensed under a
|
||||
// Creative Commons Attribution 4.0 International License; see
|
||||
// http://creativecommons.org/licenses/by/4.0/
|
||||
|
||||
[[VK_KHR_relaxed_block_layout]]
|
||||
== VK_KHR_relaxed_block_layout
|
||||
|
||||
*Name String*::
|
||||
+VK_KHR_relaxed_block_layout+
|
||||
*Extension Type*::
|
||||
Device extension
|
||||
*Registered Extension Number*::
|
||||
145
|
||||
*Status*::
|
||||
Complete
|
||||
*Last Modified Date*::
|
||||
2017-03-26
|
||||
*Revision*::
|
||||
1
|
||||
*IP Status*::
|
||||
No known IP claims.
|
||||
*Dependencies*::
|
||||
- Written against version 1.0 of the Vulkan API
|
||||
- Requires Vulkan 1.0
|
||||
*Contributors*::
|
||||
- John Kessenich, Google
|
||||
*Contacts*::
|
||||
- John Kessenich (johnkessenich 'at' google.com)
|
||||
|
||||
The +VK_KHR_relaxed_block_layout+ extension allows implementations to
|
||||
indicate they can support more variation in block code:Offset decorations.
|
||||
For example, placing a vector of three floats at an offset of 16*N + 4.
|
||||
|
||||
See <<interfaces-resources-layout,Offset and Stride Assignment>> for
|
||||
details.
|
||||
|
||||
=== Version History
|
||||
* Revision 1, 2017-03-26 (JohnK)
|
|
@ -163,6 +163,10 @@ ifdef::VK_KHR_push_descriptor[]
|
|||
include::VK_KHR_push_descriptor.txt[]
|
||||
endif::VK_KHR_push_descriptor[]
|
||||
|
||||
ifdef::VK_KHR_relaxed_block_layout[]
|
||||
include::VK_KHR_relaxed_block_layout.txt[]
|
||||
endif::VK_KHR_relaxed_block_layout[]
|
||||
|
||||
include::VK_KHR_sampler_mirror_clamp_to_edge.txt[]
|
||||
|
||||
ifdef::VK_KHR_shader_draw_parameters[]
|
||||
|
@ -268,6 +272,10 @@ ifdef::VK_EXT_hdr_metadata[]
|
|||
include::VK_EXT_hdr_metadata.txt[]
|
||||
endif::VK_EXT_hdr_metadata[]
|
||||
|
||||
ifdef::VK_EXT_post_depth_coverage[]
|
||||
include::VK_EXT_post_depth_coverage.txt[]
|
||||
endif::VK_EXT_post_depth_coverage[]
|
||||
|
||||
ifdef::VK_EXT_sampler_filter_minmax[]
|
||||
include::VK_EXT_sampler_filter_minmax.txt[]
|
||||
endif::VK_EXT_sampler_filter_minmax[]
|
||||
|
@ -311,6 +319,10 @@ ifdef::VK_AMD_gpu_shader_int16[]
|
|||
include::VK_AMD_gpu_shader_int16.txt[]
|
||||
endif::VK_AMD_gpu_shader_int16[]
|
||||
|
||||
ifdef::VK_AMD_mixed_attachment_samples[]
|
||||
include::VK_AMD_mixed_attachment_samples.txt[]
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
|
||||
ifdef::VK_AMD_negative_viewport_height[]
|
||||
include::VK_AMD_negative_viewport_height.txt[]
|
||||
endif::VK_AMD_negative_viewport_height[]
|
||||
|
|
|
@ -130,6 +130,10 @@ ifdef::VK_KHR_16bit_storage[]
|
|||
| code:StoragePushConstant16 | <<features-features-storagePushConstant16,storagePushConstant16>>
|
||||
| code:StorageInputOutput16 | <<features-features-storageInputOutput16,storageInputOutput16>>
|
||||
endif::VK_KHR_16bit_storage[]
|
||||
ifdef::VK_EXT_post_depth_coverage[]
|
||||
[[spirvenv-capabilities-table-postdepthcoverage]]
|
||||
| code:SampleMaskPostDepthCoverage | <<VK_EXT_post_depth_coverage,VK_EXT_post_depth_coverage>>
|
||||
endif::VK_EXT_post_depth_coverage[]
|
||||
|====
|
||||
|
||||
ifdef::VK_KHR_variable_pointers[]
|
||||
|
@ -191,6 +195,11 @@ https://gitlab.khronos.org/spirv/spirv-extensions/blob/master/SPV_KHR_storage_bu
|
|||
SPIR-V extension.
|
||||
endif::VK_KHR_storage_buffer_storage_class[]
|
||||
|
||||
ifdef::VK_EXT_post_depth_coverage[]
|
||||
The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
|
||||
uses the +SPV_KHR_post_depth_coverage+ SPIR-V extension.
|
||||
endif::VK_EXT_post_depth_coverage[]
|
||||
|
||||
ifdef::VK_EXT_shader_subgroup_ballot[]
|
||||
The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
|
||||
uses the +SPV_KHR_shader_ballot+ SPIR-V extension.
|
||||
|
|
|
@ -626,6 +626,9 @@ The assembled primitives execute the currently bound graphics pipeline.
|
|||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
||||
optimally tiled image) returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
* [[VUID-vkCmdDraw-None-01499]]
|
||||
Image subresources used as attachments in the current render pass must:
|
||||
not be accessed in any way other than as an attachment by this command.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
* [[VUID-vkCmdDraw-linearTilingFeatures-00451]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
|
@ -794,6 +797,9 @@ The assembled primitives execute the currently bound graphics pipeline.
|
|||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
||||
optimally tiled image) returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
* [[VUID-vkCmdDrawIndexed-None-01500]]
|
||||
Image subresources used as attachments in the current render pass must:
|
||||
not be accessed in any way other than as an attachment by this command.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
* [[VUID-vkCmdDrawIndexed-linearTilingFeatures-00471]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
|
@ -968,6 +974,9 @@ If pname:drawCount is less than or equal to one, pname:stride is ignored.
|
|||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
||||
optimally tiled image) returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
* [[VUID-vkCmdDrawIndirect-None-01501]]
|
||||
Image subresources used as attachments in the current render pass must:
|
||||
not be accessed in any way other than as an attachment by this command.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
* [[VUID-vkCmdDrawIndirect-linearTilingFeatures-00497]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
|
@ -1178,6 +1187,9 @@ located at pname:countBufferOffset and use this as the draw count.
|
|||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
||||
optimally tiled image) returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
* [[VUID-vkCmdDrawIndirectCountAMD-None-01502]]
|
||||
Image subresources used as attachments in the current render pass must:
|
||||
not be accessed in any way other than as an attachment by this command.
|
||||
ifdef::VK_KHX_multiview[]
|
||||
* [[VUID-vkCmdDrawIndirectCountAMD-maxMultiviewInstanceIndex-00525]]
|
||||
If the draw is recorded in a render pass instance with multiview
|
||||
|
@ -1339,6 +1351,9 @@ If pname:drawCount is less than or equal to one, pname:stride is ignored.
|
|||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
||||
optimally tiled image) returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
* [[VUID-vkCmdDrawIndexedIndirect-None-01503]]
|
||||
Image subresources used as attachments in the current render pass must:
|
||||
not be accessed in any way other than as an attachment by this command.
|
||||
ifdef::VK_IMG_filter_cubic[]
|
||||
* [[VUID-vkCmdDrawIndexedIndirect-linearTilingFeatures-00549]]
|
||||
Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a
|
||||
|
@ -1558,6 +1573,9 @@ located at pname:countBufferOffset and use this as the draw count.
|
|||
image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an
|
||||
optimally tiled image) returned by
|
||||
fname:vkGetPhysicalDeviceFormatProperties
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-None-01504]]
|
||||
Image subresources used as attachments in the current render pass must:
|
||||
not be accessed in any way other than as an attachment by this command.
|
||||
ifdef::VK_KHX_multiview[]
|
||||
* [[VUID-vkCmdDrawIndexedIndirectCountAMD-maxMultiviewInstanceIndex-00578]]
|
||||
If the draw is recorded in a render pass instance with multiview
|
||||
|
|
|
@ -1431,7 +1431,10 @@ range.
|
|||
* [[features-limits-framebufferColorSampleCounts]]
|
||||
pname:framebufferColorSampleCounts is a bitmask^1^ of
|
||||
elink:VkSampleCountFlagBits indicating the color sample counts that are
|
||||
supported for all framebuffer color attachments.
|
||||
supported for all framebuffer color attachments with floating- or
|
||||
fixed-point formats.
|
||||
There is no limit that indicates the color sample counts that are
|
||||
supported for all color attachments with integer formats.
|
||||
* [[features-limits-framebufferDepthSampleCounts]]
|
||||
pname:framebufferDepthSampleCounts is a bitmask^1^ of
|
||||
elink:VkSampleCountFlagBits indicating the supported depth sample counts
|
||||
|
@ -2724,7 +2727,7 @@ include::../api/enums/VkFormat.txt[]
|
|||
first 64 bits encoding alpha values followed by 64 bits encoding RGB
|
||||
values.
|
||||
* ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK specifies a four-component,
|
||||
ETC2 compressed format where each 64-bit compressed texel block encodes
|
||||
ETC2 compressed format where each 128-bit compressed texel block encodes
|
||||
a 4{times}4 rectangle of unsigned normalized RGBA texel data with the
|
||||
first 64 bits encoding alpha values followed by 64 bits encoding RGB
|
||||
values with sRGB nonlinear encoding applied.
|
||||
|
@ -4459,8 +4462,8 @@ supported for the specified values of pname:usage and pname:format.
|
|||
For each bit set in pname:usage, the supported sample counts relate to the
|
||||
limits in sname:VkPhysicalDeviceLimits as follows:
|
||||
|
||||
* If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, a
|
||||
superset of
|
||||
* If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT and
|
||||
pname:format is a floating- or fixed-point color format, a superset of
|
||||
sname:VkPhysicalDeviceLimits::pname:framebufferColorSampleCounts
|
||||
* If pname:usage includes
|
||||
ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, and pname:format
|
||||
|
|
|
@ -41,6 +41,12 @@ the fragment shader>>, these operations are also performed:
|
|||
* <<fragops-samplecount, Sample counting>> for <<queries-occlusion,
|
||||
occlusion queries>>
|
||||
|
||||
ifdef::VK_EXT_post_depth_coverage[]
|
||||
If post-depth coverage operation is
|
||||
<<shaders-fragment-earlytest-postdepthcoverage,enabled by the fragment
|
||||
shader>>, the <<interfaces-builtin-variables-samplemask,code:SampleMask>>
|
||||
coverage is determined after the early stencil and depth tests.
|
||||
endif::VK_EXT_post_depth_coverage[]
|
||||
|
||||
ifdef::VK_EXT_discard_rectangles[]
|
||||
[[fragops-discard-rectangles]]
|
||||
|
@ -381,6 +387,31 @@ fragment processing, as described in <<fragops-early-mode,Early Fragment
|
|||
Test Mode>>, if requested by the fragment shader.
|
||||
|
||||
|
||||
ifdef::VK_AMD_mixed_attachment_samples[]
|
||||
|
||||
[[fragops-mixed-attachment-samples]]
|
||||
== Mixed attachment samples
|
||||
|
||||
Special rules apply to per-fragment operations when the number of samples of
|
||||
the color attachments differs from the number of samples of the
|
||||
depth/stencil attachment used in a subpass.
|
||||
|
||||
Let [eq]#C# be the number of color attachment samples and [eq]#D# be the
|
||||
number of depth/stencil attachment samples used by a given subpass.
|
||||
|
||||
If [eq]#C < D# then only the first [eq]#C# number of samples are guaranteed
|
||||
to have a corresponding fragment shader invocation and thus a corresponding
|
||||
color output value, unless the fragment shaders produce inputs to the late
|
||||
per-fragment tests (e.g. by outputting to a variable decorated with the
|
||||
code:FragDepth built-in decoration).
|
||||
Implementations are allowed to produce fragment shader invocations for
|
||||
samples with indices greater than or equal to [eq]#C# but (other than
|
||||
potential side effects) the color outputs of fragment shader invocations
|
||||
corresponding to such samples are discarded.
|
||||
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
|
||||
|
||||
[[fragops-covg]]
|
||||
== Multisample Coverage
|
||||
|
||||
|
|
|
@ -739,25 +739,57 @@ resources.
|
|||
[[interfaces-resources-layout-std140]]
|
||||
*Standard Uniform Buffer Layout*
|
||||
|
||||
Member variables of an code:OpTypeStruct with storage class of code:Uniform
|
||||
and a decoration of code:Block (uniform buffers) must: be laid out according
|
||||
to the following rules.
|
||||
The 'base alignment' of the type of an code:OpTypeStruct member of is
|
||||
defined recursively as follows:
|
||||
|
||||
* A scalar of size [eq]#N# has a base alignment of [eq]#N#.
|
||||
* A two-component vector, with components of size [eq]#N#, has a base
|
||||
alignment of [eq]#2 N#.
|
||||
* A three- or four-component vector, with components of size [eq]#N#, has
|
||||
a base alignment of [eq]#4 N#.
|
||||
* An array has a base alignment equal to the base alignment of its element
|
||||
type, rounded up to a multiple of [eq]#16#.
|
||||
* A structure has a base alignment equal to the largest base alignment of
|
||||
any of its members, rounded up to a multiple of [eq]#16#.
|
||||
* A row-major matrix of [eq]#C# columns has a base alignment equal to the
|
||||
base alignment of a vector of [eq]#C# matrix components.
|
||||
* A column-major matrix has a base alignment equal to the base alignment
|
||||
of the matrix column type.
|
||||
|
||||
ifdef::VK_KHR_relaxed_block_layout[]
|
||||
|
||||
A member is defined to 'improperly straddle' if either of the following are
|
||||
true:
|
||||
|
||||
* It is a vector with total size less than or equal to 16 bytes, and has
|
||||
code:Offset decorations placing its first byte at [eq]#F# and its last
|
||||
byte at [eq]#L#, where [eq]#floor(F / 16) != floor(L / 16)#.
|
||||
* It is a vector with total size greater than 16 bytes and has its
|
||||
code:Offset decorations placing its first byte at a non-integer multiple
|
||||
of 16.
|
||||
|
||||
endif::VK_KHR_relaxed_block_layout[]
|
||||
|
||||
Every member of an code:OpTypeStruct with storage class of code:Uniform and
|
||||
a decoration of code:Block (uniform buffers) must: be laid out according to
|
||||
the following rules:
|
||||
|
||||
ifndef::VK_KHR_relaxed_block_layout[]
|
||||
|
||||
* The code:Offset decoration must: be a multiple of its base alignment.
|
||||
|
||||
endif::VK_KHR_relaxed_block_layout[]
|
||||
|
||||
ifdef::VK_KHR_relaxed_block_layout[]
|
||||
|
||||
* The code:Offset decoration of a scalar, an array, a structure, or a
|
||||
matrix must: be a multiple of its base alignment.
|
||||
* The code:Offset decoration of a vector must: be an integer multiple of
|
||||
the base alignment of its scalar component type, and must: not
|
||||
improperly straddle, as defined above.
|
||||
|
||||
endif::VK_KHR_relaxed_block_layout[]
|
||||
|
||||
* The code:Offset decoration must: be a multiple of its base alignment,
|
||||
computed recursively as follows:
|
||||
** a scalar of size [eq]#N# has a base alignment of [eq]#N#
|
||||
** a two-component vector, with components of size [eq]#N#, has a base
|
||||
alignment of [eq]#2 N#
|
||||
** a three- or four-component vector, with components of size [eq]#N#, has
|
||||
a base alignment of [eq]#4 N#
|
||||
** an array has a base alignment equal to the base alignment of its
|
||||
element type, rounded up to a multiple of [eq]#16#
|
||||
** a structure has a base alignment equal to the largest base alignment of
|
||||
any of its members, rounded up to a multiple of [eq]#16#
|
||||
** a row-major matrix of [eq]#C# columns has a base alignment equal to the
|
||||
base alignment of vector of [eq]#C# matrix components
|
||||
** a column-major matrix has a base alignment equal to the base alignment
|
||||
of the matrix column type
|
||||
* Any code:ArrayStride or code:MatrixStride decoration must: be an integer
|
||||
multiple of the base alignment of the array or matrix from above.
|
||||
* The code:Offset decoration of a member must: not place it between the
|
||||
|
@ -1535,6 +1567,17 @@ specifies the subset of the covered samples for the fragment that correspond
|
|||
to the invocation.
|
||||
In this case, the bit corresponding to each covered sample will be set in
|
||||
exactly one fragment shader invocation.
|
||||
|
||||
ifdef::VK_EXT_post_depth_coverage[]
|
||||
+
|
||||
If the
|
||||
<<shaders-fragment-earlytest-postdepthcoverage,code:PostDepthCoverage>>
|
||||
execution mode is specified, the sample is considered covered if and only if
|
||||
the sample is covered by the primitive and the sample passes the
|
||||
<<fragops-early,early per-fragment tests>>.
|
||||
Otherwise the sample is considered covered if the sample is covered by the
|
||||
primitive, regardless of the result of the fragment tests.
|
||||
endif::VK_EXT_post_depth_coverage[]
|
||||
+
|
||||
A variable in the code:Output storage class decorated with code:SampleMask
|
||||
is an array of integers forming a bit array in a manner similar an input
|
||||
|
|
|
@ -648,12 +648,20 @@ endif::VK_EXT_depth_range_unrestricted[]
|
|||
pname:layout must: be
|
||||
<<descriptorsets-pipelinelayout-consistency,consistent>> with all
|
||||
shaders specified in pname:pStages
|
||||
ifndef::VK_AMD_mixed_attachment_samples[]
|
||||
ifndef::VK_NV_framebuffer_mixed_samples[]
|
||||
* [[VUID-VkGraphicsPipelineCreateInfo-subpass-00757]]
|
||||
If pname:subpass uses color and/or depth/stencil attachments, then the
|
||||
pname:rasterizationSamples member of pname:pMultisampleState must: be
|
||||
the same as the sample count for those subpass attachments
|
||||
endif::VK_NV_framebuffer_mixed_samples[]
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
ifdef::VK_AMD_mixed_attachment_samples[]
|
||||
* [[VUID-VkGraphicsPipelineCreateInfo-subpass-01505]]
|
||||
If pname:subpass uses color and/or depth/stencil attachments, then the
|
||||
pname:rasterizationSamples member of pname:pMultisampleState must: equal
|
||||
the maximum of the sample counts of those subpass attachments
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
ifdef::VK_NV_framebuffer_mixed_samples[]
|
||||
* [[VUID-VkGraphicsPipelineCreateInfo-subpass-01411]]
|
||||
If pname:subpass has a depth/stencil attachment and depth test, stencil
|
||||
|
@ -715,7 +723,8 @@ include::../api/enums/VkPipelineCreateFlagBits.txt[]
|
|||
Using this flag may: reduce the time taken to create the pipeline.
|
||||
* ename:VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT specifies that the
|
||||
pipeline to be created is allowed to be the parent of a pipeline that
|
||||
will be created in a subsequent call to flink:vkCreateGraphicsPipelines.
|
||||
will be created in a subsequent call to flink:vkCreateGraphicsPipelines
|
||||
or flink:vkCreateComputePipelines.
|
||||
* ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT specifies that the pipeline to
|
||||
be created will be a child of a previously created parent pipeline.
|
||||
ifdef::VK_KHX_device_group[]
|
||||
|
|
|
@ -163,6 +163,7 @@ Surviving fragments are processed by fragment shaders.
|
|||
Fragment shaders determine associated data for fragments, and can: also
|
||||
modify or replace their assigned depth values.
|
||||
|
||||
ifndef::VK_AMD_mixed_attachment_samples[]
|
||||
ifndef::VK_NV_framebuffer_mixed_samples[]
|
||||
|
||||
If the subpass for which this pipeline is being created uses color and/or
|
||||
|
@ -170,6 +171,15 @@ depth/stencil attachments, then pname:rasterizationSamples must: be the same
|
|||
as the sample count for those subpass attachments.
|
||||
|
||||
endif::VK_NV_framebuffer_mixed_samples[]
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
|
||||
ifdef::VK_AMD_mixed_attachment_samples[]
|
||||
|
||||
If the subpass for which this pipeline is being created uses color and/or
|
||||
depth/stencil attachments, then pname:rasterizationSamples must: be the same
|
||||
as the maximum of the sample counts of those subpass attachments.
|
||||
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
|
||||
If the subpass for which this pipeline is being created does not use color
|
||||
or depth/stencil attachments, pname:rasterizationSamples must: follow the
|
||||
|
@ -382,11 +392,22 @@ Sample shading is controlled by the pname:sampleShadingEnable member of
|
|||
slink:VkPipelineMultisampleStateCreateInfo.
|
||||
If pname:sampleShadingEnable is ename:VK_FALSE, sample shading is considered
|
||||
disabled and has no effect.
|
||||
ifndef::VK_AMD_mixed_attachment_samples[]
|
||||
Otherwise, an implementation must: provide a minimum of [eq]#max({lceil}
|
||||
pname:minSampleShading {times} pname:rasterizationSamples {rceil}, 1)#
|
||||
unique associated data for each fragment, where pname:minSampleShading is
|
||||
the minimum fraction of sample shading and pname:rasterizationSamples is the
|
||||
number of samples requested in slink:VkPipelineMultisampleStateCreateInfo.
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
ifdef::VK_AMD_mixed_attachment_samples[]
|
||||
Otherwise, an implementation must: provide a minimum of [eq]#max({lceil}
|
||||
pname:minSampleShading {times} pname:samples {rceil}, 1)# unique associated
|
||||
data for each fragment, where pname:minSampleShading is the minimum fraction
|
||||
of sample shading and pname:samples is the number of samples of the color
|
||||
attachments used in the subpass or the value of
|
||||
slink:VkPipelineMultisampleStateCreateInfo::pname:rasterizationSamples if
|
||||
the subpass does not use any color attachments.
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
These are associated with the samples in an implementation-dependent manner.
|
||||
When the sample shading fraction is 1.0, a separate set of associated data
|
||||
are evaluated for each sample, and each set of values is evaluated at the
|
||||
|
|
|
@ -714,12 +714,21 @@ attachment.
|
|||
* [[VUID-VkSubpassDescription-pColorAttachments-01417]]
|
||||
All attachments in pname:pColorAttachments that are not
|
||||
ename:VK_ATTACHMENT_UNUSED must: have the same sample count
|
||||
ifdef::VK_AMD_mixed_attachment_samples[]
|
||||
* [[VUID-VkSubpassDescription-pColorAttachments-01506]]
|
||||
All attachments in pname:pColorAttachments that are not
|
||||
ename:VK_ATTACHMENT_UNUSED must: have a sample count that is smaller
|
||||
than or equal to the sample count of pname:pDepthStencilAttachment if it
|
||||
is not ename:VK_ATTACHMENT_UNUSED
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
ifndef::VK_AMD_mixed_attachment_samples[]
|
||||
ifndef::VK_NV_framebuffer_mixed_samples[]
|
||||
* [[VUID-VkSubpassDescription-pDepthStencilAttachment-01418]]
|
||||
If pname:pDepthStencilAttachment is not ename:VK_ATTACHMENT_UNUSED and
|
||||
any attachments in pname:pColorAttachments are not
|
||||
ename:VK_ATTACHMENT_UNUSED, they must: have the same sample count
|
||||
endif::VK_NV_framebuffer_mixed_samples[]
|
||||
endif::VK_AMD_mixed_attachment_samples[]
|
||||
* [[VUID-VkSubpassDescription-None-00852]]
|
||||
If any input attachments are ename:VK_ATTACHMENT_UNUSED, then any
|
||||
pipelines bound during the subpass must: not access those input
|
||||
|
@ -1282,8 +1291,8 @@ ifdef::VK_KHX_multiview[]
|
|||
used.
|
||||
endif::VK_KHX_multiview[]
|
||||
|
||||
Image subresources used as attachments must: not be used via any
|
||||
non-attachment usage for the duration of a render pass instance.
|
||||
Image subresources used as attachments must: not be accessed in any other
|
||||
way for the duration of a render pass instance.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
|
|
|
@ -1415,7 +1415,7 @@ The type(s) of device access supported by each layout are:
|
|||
This layout is valid only for image subresources of images created with
|
||||
the ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT usage bit enabled.
|
||||
Only image subresources of images created with
|
||||
ename:VK_IMAGE_USAGE_SAMPLED_BIT can: be used as sampled image or
|
||||
ename:VK_IMAGE_USAGE_SAMPLED_BIT can: be used as a sampled image or
|
||||
combined image/sampler in a shader.
|
||||
Similarly, only image subresources of images created with
|
||||
ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT can: be used as input
|
||||
|
@ -1561,6 +1561,20 @@ Views of compatible formats will have the same mapping between texel
|
|||
coordinates and memory locations irrespective of the pname:format, with only
|
||||
the interpretation of the bit pattern changing.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
Values intended to be used with one view format may: not be exactly
|
||||
preserved when written or read through a different format.
|
||||
For example, an integer value that happens to have the bit pattern of a
|
||||
floating point denorm or NaN may: be flushed or canonicalized when written
|
||||
or read through a view with a floating point format.
|
||||
Similarly, a value written through a signed normalized format that has a bit
|
||||
pattern exactly equal to [eq]#-2^b^# may: be changed to [eq]#-2^b^ {plus} 1#
|
||||
as described in <<fundamentals-fixedfpconv,Conversion from Normalized
|
||||
Fixed-Point to Floating-Point>>.
|
||||
====
|
||||
|
||||
[[resources-image-views-compatibility]]
|
||||
.Image and image view parameter compatibility requirements
|
||||
[cols="15%h,35%,50%",options="header"]
|
||||
|
@ -2598,17 +2612,17 @@ include::../api/structs/VkBindBufferMemoryInfoKHX.txt[]
|
|||
* pname:pDeviceIndices is a pointer to an array of device indices.
|
||||
|
||||
If pname:deviceIndexCount is greater than zero, then on device index [eq]#i#
|
||||
the buffer is attached to the instance of memory on the physical device with
|
||||
device index [eq]#pDeviceIndices[i]#.
|
||||
the buffer is attached to the instance of pname:memory on the physical
|
||||
device with device index [eq]#pDeviceIndices[i]#.
|
||||
|
||||
If pname:deviceIndexCount is zero and the memory comes from a memory heap
|
||||
If pname:deviceIndexCount is zero and pname:memory comes from a memory heap
|
||||
with the ename:VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX bit set, then it is as
|
||||
if pname:pDeviceIndices contains consecutive indices from zero to the number
|
||||
of physical devices in the logical device, minus one.
|
||||
In other words, by default each physical device attaches to its own instance
|
||||
of the memory.
|
||||
of pname:memory.
|
||||
|
||||
If pname:deviceIndexCount is zero and the memory comes from a memory heap
|
||||
If pname:deviceIndexCount is zero and pname:memory comes from a memory heap
|
||||
without the ename:VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX bit set, then it is
|
||||
as if pname:pDeviceIndices contains an array of zeros.
|
||||
In other words, by default each physical device attaches to instance zero.
|
||||
|
@ -2759,8 +2773,8 @@ include::../api/structs/VkBindImageMemoryInfoKHX.txt[]
|
|||
regions of the image are attached to each instance of memory.
|
||||
|
||||
If pname:deviceIndexCount is greater than zero, then on device index [eq]#i#
|
||||
the image is attached to the instance of memory on the physical device with
|
||||
device index [eq]#pDeviceIndices[i]#.
|
||||
pname:image is attached to the instance of the memory on the physical device
|
||||
with device index [eq]#pDeviceIndices[i]#.
|
||||
|
||||
Let [eq]#N# be the number of physical devices in the logical device.
|
||||
If pname:SFRRectCount is greater than zero, then pname:pSFRRects is an array
|
||||
|
@ -2772,7 +2786,7 @@ offset in memory, relative to pname:memoryOffset, computed as if the whole
|
|||
image were being bound to a contiguous range of memory.
|
||||
In other words, horizontally adjacent image blocks use consecutive blocks of
|
||||
memory, vertically adjacent image blocks are separated by the number of
|
||||
bytes per block multiplied by the width in blocks of the image, and the
|
||||
bytes per block multiplied by the width in blocks of pname:image, and the
|
||||
block at [eq]#(0,0)# corresponds to memory starting at pname:memoryOffset.
|
||||
|
||||
If pname:SFRRectCount and pname:deviceIndexCount are zero and the memory
|
||||
|
|
|
@ -521,6 +521,14 @@ code:OpExecutionMode, the per-fragment tests described in
|
|||
fragment shader execution.
|
||||
Otherwise, they are performed after fragment shader execution.
|
||||
|
||||
ifdef::VK_EXT_post_depth_coverage[]
|
||||
[[shaders-fragment-earlytest-postdepthcoverage]]
|
||||
If the fragment shader additionally specifies the code:PostDepthCoverage
|
||||
code:OpExecutionMode, the value of a variable decorated with the
|
||||
<<interfaces-builtin-variables-samplemask,code:SampleMask>> built-in
|
||||
reflects the coverage after the early fragment tests.
|
||||
Otherwise, it reflects the coverage before the early fragment tests.
|
||||
endif::VK_EXT_post_depth_coverage[]
|
||||
|
||||
[[shaders-compute]]
|
||||
== Compute Shaders
|
||||
|
@ -593,6 +601,10 @@ in neighboring pixels, and derivatives may: be computed by computing
|
|||
differences between neighboring pixels, derivatives of centroid-sampled
|
||||
inputs may: be less accurate than those for non-centroid interpolated
|
||||
variables.
|
||||
ifdef::VK_EXT_post_depth_coverage[]
|
||||
The <<shaders-fragment-earlytest-postdepthcoverage,code:PostDepthCoverage>>
|
||||
execution mode does not affect the determination of the centroid location.
|
||||
endif::VK_EXT_post_depth_coverage[]
|
||||
If a fragment shader input is decorated with code:Sample, a separate value
|
||||
must: be assigned to that variable for each covered sample in the pixel, and
|
||||
that value must: be sampled at the location of the individual sample.
|
||||
|
|
|
@ -51,6 +51,6 @@ extensions['VK_NV_external_memory_win32'] = [ 'VK_NV_external_memory', 'VK_NV_ex
|
|||
extensions['VK_NV_win32_keyed_mutex'] = [ 'VK_NV_external_memory', 'VK_NV_external_memory_capabilities', 'VK_NV_external_memory_win32' ]
|
||||
|
||||
# Define lists of all / KHR / KHX extensions
|
||||
allExts = [ 'VK_AMD_draw_indirect_count', 'VK_AMD_gcn_shader', 'VK_AMD_gpu_shader_half_float', 'VK_AMD_gpu_shader_int16', 'VK_AMD_negative_viewport_height', 'VK_AMD_rasterization_order', 'VK_AMD_shader_ballot', 'VK_AMD_shader_explicit_vertex_parameter', 'VK_AMD_shader_trinary_minmax', 'VK_AMD_texture_gather_bias_lod', 'VK_EXT_acquire_xlib_display', 'VK_EXT_blend_operation_advanced', 'VK_EXT_debug_marker', 'VK_EXT_debug_report', 'VK_EXT_depth_range_unrestricted', 'VK_EXT_direct_mode_display', 'VK_EXT_discard_rectangles', 'VK_EXT_display_control', 'VK_EXT_display_surface_counter', 'VK_EXT_hdr_metadata', 'VK_EXT_sampler_filter_minmax', 'VK_EXT_shader_subgroup_ballot', 'VK_EXT_shader_subgroup_vote', 'VK_EXT_swapchain_colorspace', 'VK_EXT_validation_flags', 'VK_GOOGLE_display_timing', 'VK_IMG_filter_cubic', 'VK_IMG_format_pvrtc', 'VK_KHR_16bit_storage', 'VK_KHR_android_surface', 'VK_KHR_dedicated_allocation', 'VK_KHR_descriptor_update_template', 'VK_KHR_display', 'VK_KHR_display_swapchain', 'VK_KHR_external_fence', 'VK_KHR_external_fence_capabilities', 'VK_KHR_external_fence_fd', 'VK_KHR_external_fence_win32', 'VK_KHR_external_memory', 'VK_KHR_external_memory_capabilities', 'VK_KHR_external_memory_fd', 'VK_KHR_external_memory_win32', 'VK_KHR_external_semaphore', 'VK_KHR_external_semaphore_capabilities', 'VK_KHR_external_semaphore_fd', 'VK_KHR_external_semaphore_win32', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_get_surface_capabilities2', 'VK_KHR_incremental_present', 'VK_KHR_maintenance1', 'VK_KHR_mir_surface', 'VK_KHR_push_descriptor', 'VK_KHR_sampler_mirror_clamp_to_edge', 'VK_KHR_shader_draw_parameters', 'VK_KHR_shared_presentable_image', 'VK_KHR_storage_buffer_storage_class', 'VK_KHR_surface', 'VK_KHR_swapchain', 'VK_KHR_variable_pointers', 'VK_KHR_wayland_surface', 'VK_KHR_win32_keyed_mutex', 'VK_KHR_win32_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface', 'VK_KHX_device_group', 'VK_KHX_device_group_creation', 'VK_KHX_multiview', 'VK_MVK_ios_surface', 'VK_MVK_macos_surface', 'VK_NN_vi_surface', 'VK_NVX_device_generated_commands', 'VK_NVX_multiview_per_view_attributes', 'VK_NV_clip_space_w_scaling', 'VK_NV_dedicated_allocation', 'VK_NV_external_memory', 'VK_NV_external_memory_capabilities', 'VK_NV_external_memory_win32', 'VK_NV_fill_rectangle', 'VK_NV_fragment_coverage_to_color', 'VK_NV_framebuffer_mixed_samples', 'VK_NV_geometry_shader_passthrough', 'VK_NV_glsl_shader', 'VK_NV_sample_mask_override_coverage', 'VK_NV_viewport_array2', 'VK_NV_viewport_swizzle', 'VK_NV_win32_keyed_mutex' ]
|
||||
khrExts = [ 'VK_KHR_16bit_storage', 'VK_KHR_android_surface', 'VK_KHR_dedicated_allocation', 'VK_KHR_descriptor_update_template', 'VK_KHR_display', 'VK_KHR_display_swapchain', 'VK_KHR_external_fence', 'VK_KHR_external_fence_capabilities', 'VK_KHR_external_fence_fd', 'VK_KHR_external_fence_win32', 'VK_KHR_external_memory', 'VK_KHR_external_memory_capabilities', 'VK_KHR_external_memory_fd', 'VK_KHR_external_memory_win32', 'VK_KHR_external_semaphore', 'VK_KHR_external_semaphore_capabilities', 'VK_KHR_external_semaphore_fd', 'VK_KHR_external_semaphore_win32', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_get_surface_capabilities2', 'VK_KHR_incremental_present', 'VK_KHR_maintenance1', 'VK_KHR_mir_surface', 'VK_KHR_push_descriptor', 'VK_KHR_sampler_mirror_clamp_to_edge', 'VK_KHR_shader_draw_parameters', 'VK_KHR_shared_presentable_image', 'VK_KHR_storage_buffer_storage_class', 'VK_KHR_surface', 'VK_KHR_swapchain', 'VK_KHR_variable_pointers', 'VK_KHR_wayland_surface', 'VK_KHR_win32_keyed_mutex', 'VK_KHR_win32_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface' ]
|
||||
allExts = [ 'VK_AMD_draw_indirect_count', 'VK_AMD_gcn_shader', 'VK_AMD_gpu_shader_half_float', 'VK_AMD_gpu_shader_int16', 'VK_AMD_mixed_attachment_samples', 'VK_AMD_negative_viewport_height', 'VK_AMD_rasterization_order', 'VK_AMD_shader_ballot', 'VK_AMD_shader_explicit_vertex_parameter', 'VK_AMD_shader_trinary_minmax', 'VK_AMD_texture_gather_bias_lod', 'VK_EXT_acquire_xlib_display', 'VK_EXT_blend_operation_advanced', 'VK_EXT_debug_marker', 'VK_EXT_debug_report', 'VK_EXT_depth_range_unrestricted', 'VK_EXT_direct_mode_display', 'VK_EXT_discard_rectangles', 'VK_EXT_display_control', 'VK_EXT_display_surface_counter', 'VK_EXT_hdr_metadata', 'VK_EXT_post_depth_coverage', 'VK_EXT_sampler_filter_minmax', 'VK_EXT_shader_subgroup_ballot', 'VK_EXT_shader_subgroup_vote', 'VK_EXT_swapchain_colorspace', 'VK_EXT_validation_flags', 'VK_GOOGLE_display_timing', 'VK_IMG_filter_cubic', 'VK_IMG_format_pvrtc', 'VK_KHR_16bit_storage', 'VK_KHR_android_surface', 'VK_KHR_dedicated_allocation', 'VK_KHR_descriptor_update_template', 'VK_KHR_display', 'VK_KHR_display_swapchain', 'VK_KHR_external_fence', 'VK_KHR_external_fence_capabilities', 'VK_KHR_external_fence_fd', 'VK_KHR_external_fence_win32', 'VK_KHR_external_memory', 'VK_KHR_external_memory_capabilities', 'VK_KHR_external_memory_fd', 'VK_KHR_external_memory_win32', 'VK_KHR_external_semaphore', 'VK_KHR_external_semaphore_capabilities', 'VK_KHR_external_semaphore_fd', 'VK_KHR_external_semaphore_win32', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_get_surface_capabilities2', 'VK_KHR_incremental_present', 'VK_KHR_maintenance1', 'VK_KHR_mir_surface', 'VK_KHR_push_descriptor', 'VK_KHR_relaxed_block_layout', 'VK_KHR_sampler_mirror_clamp_to_edge', 'VK_KHR_shader_draw_parameters', 'VK_KHR_shared_presentable_image', 'VK_KHR_storage_buffer_storage_class', 'VK_KHR_surface', 'VK_KHR_swapchain', 'VK_KHR_variable_pointers', 'VK_KHR_wayland_surface', 'VK_KHR_win32_keyed_mutex', 'VK_KHR_win32_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface', 'VK_KHX_device_group', 'VK_KHX_device_group_creation', 'VK_KHX_multiview', 'VK_MVK_ios_surface', 'VK_MVK_macos_surface', 'VK_NN_vi_surface', 'VK_NVX_device_generated_commands', 'VK_NVX_multiview_per_view_attributes', 'VK_NV_clip_space_w_scaling', 'VK_NV_dedicated_allocation', 'VK_NV_external_memory', 'VK_NV_external_memory_capabilities', 'VK_NV_external_memory_win32', 'VK_NV_fill_rectangle', 'VK_NV_fragment_coverage_to_color', 'VK_NV_framebuffer_mixed_samples', 'VK_NV_geometry_shader_passthrough', 'VK_NV_glsl_shader', 'VK_NV_sample_mask_override_coverage', 'VK_NV_viewport_array2', 'VK_NV_viewport_swizzle', 'VK_NV_win32_keyed_mutex' ]
|
||||
khrExts = [ 'VK_KHR_16bit_storage', 'VK_KHR_android_surface', 'VK_KHR_dedicated_allocation', 'VK_KHR_descriptor_update_template', 'VK_KHR_display', 'VK_KHR_display_swapchain', 'VK_KHR_external_fence', 'VK_KHR_external_fence_capabilities', 'VK_KHR_external_fence_fd', 'VK_KHR_external_fence_win32', 'VK_KHR_external_memory', 'VK_KHR_external_memory_capabilities', 'VK_KHR_external_memory_fd', 'VK_KHR_external_memory_win32', 'VK_KHR_external_semaphore', 'VK_KHR_external_semaphore_capabilities', 'VK_KHR_external_semaphore_fd', 'VK_KHR_external_semaphore_win32', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_get_surface_capabilities2', 'VK_KHR_incremental_present', 'VK_KHR_maintenance1', 'VK_KHR_mir_surface', 'VK_KHR_push_descriptor', 'VK_KHR_relaxed_block_layout', 'VK_KHR_sampler_mirror_clamp_to_edge', 'VK_KHR_shader_draw_parameters', 'VK_KHR_shared_presentable_image', 'VK_KHR_storage_buffer_storage_class', 'VK_KHR_surface', 'VK_KHR_swapchain', 'VK_KHR_variable_pointers', 'VK_KHR_wayland_surface', 'VK_KHR_win32_keyed_mutex', 'VK_KHR_win32_surface', 'VK_KHR_xcb_surface', 'VK_KHR_xlib_surface' ]
|
||||
khxExts = [ 'VK_KHX_device_group', 'VK_KHX_device_group_creation', 'VK_KHX_multiview' ]
|
||||
|
|
|
@ -51,6 +51,6 @@ extensions[VK_NV_external_memory_win32]="VK_NV_external_memory VK_NV_external_me
|
|||
extensions[VK_NV_win32_keyed_mutex]="VK_NV_external_memory VK_NV_external_memory_capabilities VK_NV_external_memory_win32"
|
||||
|
||||
# Define lists of all / KHR / KHX extensions
|
||||
allExts="VK_AMD_draw_indirect_count VK_AMD_gcn_shader VK_AMD_gpu_shader_half_float VK_AMD_gpu_shader_int16 VK_AMD_negative_viewport_height VK_AMD_rasterization_order VK_AMD_shader_ballot VK_AMD_shader_explicit_vertex_parameter VK_AMD_shader_trinary_minmax VK_AMD_texture_gather_bias_lod VK_EXT_acquire_xlib_display VK_EXT_blend_operation_advanced VK_EXT_debug_marker VK_EXT_debug_report VK_EXT_depth_range_unrestricted VK_EXT_direct_mode_display VK_EXT_discard_rectangles VK_EXT_display_control VK_EXT_display_surface_counter VK_EXT_hdr_metadata VK_EXT_sampler_filter_minmax VK_EXT_shader_subgroup_ballot VK_EXT_shader_subgroup_vote VK_EXT_swapchain_colorspace VK_EXT_validation_flags VK_GOOGLE_display_timing VK_IMG_filter_cubic VK_IMG_format_pvrtc VK_KHR_16bit_storage VK_KHR_android_surface VK_KHR_dedicated_allocation VK_KHR_descriptor_update_template VK_KHR_display VK_KHR_display_swapchain VK_KHR_external_fence VK_KHR_external_fence_capabilities VK_KHR_external_fence_fd VK_KHR_external_fence_win32 VK_KHR_external_memory VK_KHR_external_memory_capabilities VK_KHR_external_memory_fd VK_KHR_external_memory_win32 VK_KHR_external_semaphore VK_KHR_external_semaphore_capabilities VK_KHR_external_semaphore_fd VK_KHR_external_semaphore_win32 VK_KHR_get_memory_requirements2 VK_KHR_get_physical_device_properties2 VK_KHR_get_surface_capabilities2 VK_KHR_incremental_present VK_KHR_maintenance1 VK_KHR_mir_surface VK_KHR_push_descriptor VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_shader_draw_parameters VK_KHR_shared_presentable_image VK_KHR_storage_buffer_storage_class VK_KHR_surface VK_KHR_swapchain VK_KHR_variable_pointers VK_KHR_wayland_surface VK_KHR_win32_keyed_mutex VK_KHR_win32_surface VK_KHR_xcb_surface VK_KHR_xlib_surface VK_KHX_device_group VK_KHX_device_group_creation VK_KHX_multiview VK_MVK_ios_surface VK_MVK_macos_surface VK_NN_vi_surface VK_NVX_device_generated_commands VK_NVX_multiview_per_view_attributes VK_NV_clip_space_w_scaling VK_NV_dedicated_allocation VK_NV_external_memory VK_NV_external_memory_capabilities VK_NV_external_memory_win32 VK_NV_fill_rectangle VK_NV_fragment_coverage_to_color VK_NV_framebuffer_mixed_samples VK_NV_geometry_shader_passthrough VK_NV_glsl_shader VK_NV_sample_mask_override_coverage VK_NV_viewport_array2 VK_NV_viewport_swizzle VK_NV_win32_keyed_mutex"
|
||||
khrExts="VK_KHR_16bit_storage VK_KHR_android_surface VK_KHR_dedicated_allocation VK_KHR_descriptor_update_template VK_KHR_display VK_KHR_display_swapchain VK_KHR_external_fence VK_KHR_external_fence_capabilities VK_KHR_external_fence_fd VK_KHR_external_fence_win32 VK_KHR_external_memory VK_KHR_external_memory_capabilities VK_KHR_external_memory_fd VK_KHR_external_memory_win32 VK_KHR_external_semaphore VK_KHR_external_semaphore_capabilities VK_KHR_external_semaphore_fd VK_KHR_external_semaphore_win32 VK_KHR_get_memory_requirements2 VK_KHR_get_physical_device_properties2 VK_KHR_get_surface_capabilities2 VK_KHR_incremental_present VK_KHR_maintenance1 VK_KHR_mir_surface VK_KHR_push_descriptor VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_shader_draw_parameters VK_KHR_shared_presentable_image VK_KHR_storage_buffer_storage_class VK_KHR_surface VK_KHR_swapchain VK_KHR_variable_pointers VK_KHR_wayland_surface VK_KHR_win32_keyed_mutex VK_KHR_win32_surface VK_KHR_xcb_surface VK_KHR_xlib_surface"
|
||||
allExts="VK_AMD_draw_indirect_count VK_AMD_gcn_shader VK_AMD_gpu_shader_half_float VK_AMD_gpu_shader_int16 VK_AMD_mixed_attachment_samples VK_AMD_negative_viewport_height VK_AMD_rasterization_order VK_AMD_shader_ballot VK_AMD_shader_explicit_vertex_parameter VK_AMD_shader_trinary_minmax VK_AMD_texture_gather_bias_lod VK_EXT_acquire_xlib_display VK_EXT_blend_operation_advanced VK_EXT_debug_marker VK_EXT_debug_report VK_EXT_depth_range_unrestricted VK_EXT_direct_mode_display VK_EXT_discard_rectangles VK_EXT_display_control VK_EXT_display_surface_counter VK_EXT_hdr_metadata VK_EXT_post_depth_coverage VK_EXT_sampler_filter_minmax VK_EXT_shader_subgroup_ballot VK_EXT_shader_subgroup_vote VK_EXT_swapchain_colorspace VK_EXT_validation_flags VK_GOOGLE_display_timing VK_IMG_filter_cubic VK_IMG_format_pvrtc VK_KHR_16bit_storage VK_KHR_android_surface VK_KHR_dedicated_allocation VK_KHR_descriptor_update_template VK_KHR_display VK_KHR_display_swapchain VK_KHR_external_fence VK_KHR_external_fence_capabilities VK_KHR_external_fence_fd VK_KHR_external_fence_win32 VK_KHR_external_memory VK_KHR_external_memory_capabilities VK_KHR_external_memory_fd VK_KHR_external_memory_win32 VK_KHR_external_semaphore VK_KHR_external_semaphore_capabilities VK_KHR_external_semaphore_fd VK_KHR_external_semaphore_win32 VK_KHR_get_memory_requirements2 VK_KHR_get_physical_device_properties2 VK_KHR_get_surface_capabilities2 VK_KHR_incremental_present VK_KHR_maintenance1 VK_KHR_mir_surface VK_KHR_push_descriptor VK_KHR_relaxed_block_layout VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_shader_draw_parameters VK_KHR_shared_presentable_image VK_KHR_storage_buffer_storage_class VK_KHR_surface VK_KHR_swapchain VK_KHR_variable_pointers VK_KHR_wayland_surface VK_KHR_win32_keyed_mutex VK_KHR_win32_surface VK_KHR_xcb_surface VK_KHR_xlib_surface VK_KHX_device_group VK_KHX_device_group_creation VK_KHX_multiview VK_MVK_ios_surface VK_MVK_macos_surface VK_NN_vi_surface VK_NVX_device_generated_commands VK_NVX_multiview_per_view_attributes VK_NV_clip_space_w_scaling VK_NV_dedicated_allocation VK_NV_external_memory VK_NV_external_memory_capabilities VK_NV_external_memory_win32 VK_NV_fill_rectangle VK_NV_fragment_coverage_to_color VK_NV_framebuffer_mixed_samples VK_NV_geometry_shader_passthrough VK_NV_glsl_shader VK_NV_sample_mask_override_coverage VK_NV_viewport_array2 VK_NV_viewport_swizzle VK_NV_win32_keyed_mutex"
|
||||
khrExts="VK_KHR_16bit_storage VK_KHR_android_surface VK_KHR_dedicated_allocation VK_KHR_descriptor_update_template VK_KHR_display VK_KHR_display_swapchain VK_KHR_external_fence VK_KHR_external_fence_capabilities VK_KHR_external_fence_fd VK_KHR_external_fence_win32 VK_KHR_external_memory VK_KHR_external_memory_capabilities VK_KHR_external_memory_fd VK_KHR_external_memory_win32 VK_KHR_external_semaphore VK_KHR_external_semaphore_capabilities VK_KHR_external_semaphore_fd VK_KHR_external_semaphore_win32 VK_KHR_get_memory_requirements2 VK_KHR_get_physical_device_properties2 VK_KHR_get_surface_capabilities2 VK_KHR_incremental_present VK_KHR_maintenance1 VK_KHR_mir_surface VK_KHR_push_descriptor VK_KHR_relaxed_block_layout VK_KHR_sampler_mirror_clamp_to_edge VK_KHR_shader_draw_parameters VK_KHR_shared_presentable_image VK_KHR_storage_buffer_storage_class VK_KHR_surface VK_KHR_swapchain VK_KHR_variable_pointers VK_KHR_wayland_surface VK_KHR_win32_keyed_mutex VK_KHR_win32_surface VK_KHR_xcb_surface VK_KHR_xlib_surface"
|
||||
khxExts="VK_KHX_device_group VK_KHX_device_group_creation VK_KHX_multiview"
|
||||
|
|
|
@ -580,7 +580,7 @@ global vuPat
|
|||
vuPat = re.compile('^(?P<head> [*]+)( *)(?P<tail>.*)', re.DOTALL)
|
||||
|
||||
# The value to start tagging VU statements at, unless overridden by -nextvu
|
||||
startVUID = 1499
|
||||
startVUID = 1507
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser()
|
||||
|
|
|
@ -420,22 +420,6 @@ member.
|
|||
|
||||
==== Attributes of tag:member tags
|
||||
|
||||
* attr:validextensionstructs - only valid on the `pNext` member of a
|
||||
struct.
|
||||
This is a comma-separated list of structures that may be accepted by
|
||||
`pNext` instead of `NULL`.
|
||||
This should usually only be put on the top-level structure that is
|
||||
extended, for all possible chained structures - the chained structures
|
||||
themselves should be tagged with attr:noautovalidity.
|
||||
This will generate a validity statement on the top level structure
|
||||
that validates the entire chain in one go, rather than each chained
|
||||
structure repeating the list of valid structs.
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
attr:validextensionstructs is deprecated and replaced by attr:structextends.
|
||||
They must be kept in sync until attr:validextensionstructs is removed.
|
||||
====
|
||||
* attr:values - only valid on the `sType` member of a struct. This is a
|
||||
comma-separated list of enumerant values that are valid for the
|
||||
structure type; usually there is only a single value.
|
||||
|
@ -1831,6 +1815,8 @@ files and Python scripts are logged in Github history.
|
|||
[[changelog]]
|
||||
= Change Log
|
||||
|
||||
* 2017-07-27 - finish removing validextensionstructs attribute and
|
||||
replacing it with structextends.
|
||||
* 2017-07-14 - add comment attributes or tags as valid content in several
|
||||
places, replacing XML comments which could not be preserved by XML
|
||||
transformation tools.
|
||||
|
|
|
@ -240,7 +240,16 @@ class COutputGenerator(OutputGenerator):
|
|||
# Add extra newline after multi-line entries.
|
||||
if '\n' in s:
|
||||
s += '\n'
|
||||
self.appendSection(category, s)
|
||||
# This is a temporary workaround for internal issue #877,
|
||||
# while we consider other approaches. The problem is that
|
||||
# function pointer types can have dependencies on structures
|
||||
# and vice-versa, so they can't be strictly separated into
|
||||
# sections. The workaround is to define those types in the
|
||||
# same section, in dependency order.
|
||||
if (category == 'funcpointer'):
|
||||
self.appendSection('struct', s)
|
||||
else:
|
||||
self.appendSection(category, s)
|
||||
#
|
||||
# Struct (e.g. C "struct" type) generation.
|
||||
# This is a special case of the <type> tag where the contents are
|
||||
|
|
|
@ -115,7 +115,6 @@ Types = element types {
|
|||
# optional - whether this value can be omitted by providing NULL (for
|
||||
# pointers), VK_NULL_HANDLE (for handles) or 0 (for bitmasks/values)
|
||||
# noautovalidity - tag stating that no automatic validity language should be generated
|
||||
# validextensionstructs - comma-separate list of legal structure types in pNext chain
|
||||
# values - comma-separated list of legal values, usually used only for sType enums
|
||||
# <comment> - containing arbitrary text (unused)
|
||||
#
|
||||
|
@ -154,7 +153,6 @@ Type = element type {
|
|||
attribute externsync { text } ? ,
|
||||
attribute optional { text } ? ,
|
||||
attribute noautovalidity { text } ? ,
|
||||
attribute validextensionstructs { text } ? ,
|
||||
attribute values { text } ? ,
|
||||
mixed {
|
||||
element type { TypeName } ? ,
|
||||
|
|
|
@ -682,18 +682,6 @@ class ValidityOutputGenerator(OutputGenerator):
|
|||
validextensionstructs = self.registry.validextensionstructs.get(blockname)
|
||||
extensionstructs = []
|
||||
|
||||
# Validate that the XML's "validextensionstructs" tag matches the
|
||||
# list built from the "structextends" tag.
|
||||
# Once everything is ported to structextends, delete this block.
|
||||
validextensionstructsOld = param.attrib.get('validextensionstructs')
|
||||
if validextensionstructsOld is not None:
|
||||
validextensionstructsasstring = '';
|
||||
if (validextensionstructs is not None):
|
||||
validextensionstructsasstring = ','.join(elem for elem in validextensionstructs)
|
||||
if (','.join(sorted(validextensionstructsasstring.split(','))) !=
|
||||
','.join(sorted(validextensionstructsOld.split(',')))):
|
||||
self.logMsg('warn', blockname, 'validextensionstructs mismatches structextends\nvalidextensionstructs=', validextensionstructsOld, '\nstructextends=', validextensionstructsasstring, '\n')
|
||||
|
||||
if validextensionstructs is not None:
|
||||
# Check each structure name and skip it if not required by the
|
||||
# generator. This allows tagging extension structs in the XML
|
||||
|
@ -758,13 +746,13 @@ class ValidityOutputGenerator(OutputGenerator):
|
|||
asciidoc += self.makeStructureType(blockname, param)
|
||||
elif paramtype.text == 'void' and paramname.text == 'pNext':
|
||||
asciidoc += self.makeStructureExtensionPointer(blockname, param)
|
||||
|
||||
|
||||
# In case there's nothing to report, return None
|
||||
if asciidoc == '':
|
||||
return None
|
||||
|
||||
|
||||
return asciidoc
|
||||
|
||||
|
||||
#
|
||||
# Generate all the valid usage information for a given struct or command
|
||||
def makeValidUsageStatements(self, cmd, blockname, params):
|
||||
|
@ -795,7 +783,7 @@ class ValidityOutputGenerator(OutputGenerator):
|
|||
asciidoc += self.makeStructureExtensionPointer(blockname, param)
|
||||
else:
|
||||
asciidoc += self.createValidationLineForParameter(blockname, param, params, typecategory)
|
||||
|
||||
|
||||
# Ensure that any parenting is properly validated, and list that a handle was found
|
||||
if typecategory == 'handle':
|
||||
handles.append(param)
|
||||
|
@ -832,12 +820,12 @@ class ValidityOutputGenerator(OutputGenerator):
|
|||
asciidoc += 'pname:commandBuffer must: be in the <<commandbuffers-lifecycle, recording state>>'
|
||||
asciidoc += '\n'
|
||||
|
||||
#
|
||||
#
|
||||
# Start of valid queue type validation - command pool must have been
|
||||
# allocated against a queue with at least one of the valid queue types
|
||||
asciidoc += self.makeAnchor(blockname, 'commandBuffer', 'cmdpool')
|
||||
|
||||
#
|
||||
|
||||
#
|
||||
# This test for vkCmdFillBuffer is a hack, since we have no path
|
||||
# to conditionally have queues enabled or disabled by an extension.
|
||||
# As the VU stuff is all moving out (hopefully soon), this hack solves the issue for now
|
||||
|
@ -1005,7 +993,7 @@ class ValidityOutputGenerator(OutputGenerator):
|
|||
renderpass = cmd.attrib.get('renderpass')
|
||||
renderpass = renderpass.capitalize()
|
||||
|
||||
#
|
||||
#
|
||||
# This test for vkCmdFillBuffer is a hack, since we have no path
|
||||
# to conditionally have queues enabled or disabled by an extension.
|
||||
# As the VU stuff is all moving out (hopefully soon), this hack solves the issue for now
|
||||
|
@ -1103,7 +1091,7 @@ class ValidityOutputGenerator(OutputGenerator):
|
|||
else:
|
||||
# Need to generate sType and pNext validation
|
||||
params = typeinfo.elem.findall('member')
|
||||
|
||||
|
||||
validity = self.makeValidUsageStatementsReturnedOnly(typeinfo.elem, typename, params)
|
||||
|
||||
self.writeInclude('structs', typename, validity, None, None, None, None)
|
||||
|
|
|
@ -106,7 +106,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
<type category="define">// Vulkan 1.0 version number
|
||||
#define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_VERSION</type>(1, 0, 0)// Patch version should always be set to 0</type>
|
||||
<type category="define">// Version of this file
|
||||
#define <name>VK_HEADER_VERSION</name> 56</type>
|
||||
#define <name>VK_HEADER_VERSION</name> 57</type>
|
||||
|
||||
<type category="define">
|
||||
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
||||
|
@ -546,7 +546,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkDeviceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPhysicalDeviceFeatures2KHR,VkPhysicalDevice16BitStorageFeaturesKHR,VkPhysicalDeviceVariablePointerFeaturesKHR,VkPhysicalDeviceMultiviewFeaturesKHX,VkDeviceGroupDeviceCreateInfoKHX">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkDeviceCreateFlags</type> <name>flags</name></member>
|
||||
<member><type>uint32_t</type> <name>queueCreateInfoCount</name></member>
|
||||
<member len="queueCreateInfoCount">const <type>VkDeviceQueueCreateInfo</type>* <name>pQueueCreateInfos</name></member>
|
||||
|
@ -558,7 +558,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkInstanceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDebugReportCallbackCreateInfoEXT,VkValidationFlagsEXT">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkInstanceCreateFlags</type> <name>flags</name></member>
|
||||
<member optional="true">const <type>VkApplicationInfo</type>* <name>pApplicationInfo</name></member>
|
||||
<member optional="true"><type>uint32_t</type> <name>enabledLayerCount</name></member>
|
||||
|
@ -580,7 +580,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkMemoryAllocateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDedicatedAllocationMemoryAllocateInfoNV,VkMemoryAllocateFlagsInfoKHX,VkMemoryDedicatedAllocateInfoKHR,VkExportMemoryAllocateInfoKHR,VkImportMemoryWin32HandleInfoKHR,VkImportMemoryWin32HandleInfoNV,VkImportMemoryFdInfoKHR,VkExportMemoryAllocateInfoNV,VkExportMemoryWin32HandleInfoKHR,VkExportMemoryWin32HandleInfoNV">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkDeviceSize</type> <name>allocationSize</name><comment>Size of memory allocation</comment></member>
|
||||
<member><type>uint32_t</type> <name>memoryTypeIndex</name><comment>Index of the of the memory type to allocate from</comment></member>
|
||||
</type>
|
||||
|
@ -663,7 +663,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkBufferCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDedicatedAllocationBufferCreateInfoNV,VkExternalMemoryBufferCreateInfoKHR">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkBufferCreateFlags</type> <name>flags</name><comment>Buffer creation flags</comment></member>
|
||||
<member><type>VkDeviceSize</type> <name>size</name><comment>Specified in bytes</comment></member>
|
||||
<member><type>VkBufferUsageFlags</type> <name>usage</name><comment>Buffer usage flags</comment></member>
|
||||
|
@ -729,7 +729,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkImageCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDedicatedAllocationImageCreateInfoNV,VkImageSwapchainCreateInfoKHX,VkExternalMemoryImageCreateInfoKHR,VkExternalMemoryImageCreateInfoNV">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkImageCreateFlags</type> <name>flags</name><comment>Image creation flags</comment></member>
|
||||
<member><type>VkImageType</type> <name>imageType</name></member>
|
||||
<member><type>VkFormat</type> <name>format</name></member>
|
||||
|
@ -798,7 +798,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkBindSparseInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDeviceGroupBindSparseInfoKHX">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>uint32_t</type> <name>waitSemaphoreCount</name></member>
|
||||
<member len="waitSemaphoreCount">const <type>VkSemaphore</type>* <name>pWaitSemaphores</name></member>
|
||||
<member optional="true"><type>uint32_t</type> <name>bufferBindCount</name></member>
|
||||
|
@ -942,7 +942,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkPipelineViewportStateCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPipelineViewportWScalingStateCreateInfoNV,VkPipelineViewportSwizzleStateCreateInfoNV">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkPipelineViewportStateCreateFlags</type> <name>flags</name></member>
|
||||
<member><type>uint32_t</type> <name>viewportCount</name></member>
|
||||
<member noautovalidity="true" optional="true" len="viewportCount">const <type>VkViewport</type>* <name>pViewports</name></member>
|
||||
|
@ -951,7 +951,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkPipelineRasterizationStateCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPipelineRasterizationStateRasterizationOrderAMD">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkPipelineRasterizationStateCreateFlags</type> <name>flags</name></member>
|
||||
<member><type>VkBool32</type> <name>depthClampEnable</name></member>
|
||||
<member><type>VkBool32</type> <name>rasterizerDiscardEnable</name></member>
|
||||
|
@ -966,7 +966,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkPipelineMultisampleStateCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPipelineCoverageToColorStateCreateInfoNV,VkPipelineCoverageModulationStateCreateInfoNV">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkPipelineMultisampleStateCreateFlags</type> <name>flags</name></member>
|
||||
<member><type>VkSampleCountFlagBits</type> <name>rasterizationSamples</name><comment>Number of samples used for rasterization</comment></member>
|
||||
<member><type>VkBool32</type> <name>sampleShadingEnable</name><comment>optional (GL45)</comment></member>
|
||||
|
@ -987,7 +987,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkPipelineColorBlendStateCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPipelineColorBlendAdvancedStateCreateInfoEXT">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkPipelineColorBlendStateCreateFlags</type> <name>flags</name></member>
|
||||
<member><type>VkBool32</type> <name>logicOpEnable</name></member>
|
||||
<member noautovalidity="true"><type>VkLogicOp</type> <name>logicOp</name></member>
|
||||
|
@ -1027,7 +1027,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkGraphicsPipelineCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPipelineDiscardRectangleStateCreateInfoEXT">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkPipelineCreateFlags</type> <name>flags</name><comment>Pipeline creation flags</comment></member>
|
||||
<member><type>uint32_t</type> <name>stageCount</name></member>
|
||||
<member len="stageCount">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One entry for each active shader stage</comment></member>
|
||||
|
@ -1069,7 +1069,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkSamplerCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkSamplerReductionModeCreateInfoEXT">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkSamplerCreateFlags</type> <name>flags</name></member>
|
||||
<member><type>VkFilter</type> <name>magFilter</name><comment>Filter mode for magnification</comment></member>
|
||||
<member><type>VkFilter</type> <name>minFilter</name><comment>Filter mode for minifiation</comment></member>
|
||||
|
@ -1112,13 +1112,13 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkCommandBufferBeginInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDeviceGroupCommandBufferBeginInfoKHX">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkCommandBufferUsageFlags</type> <name>flags</name><comment>Command buffer usage flags</comment></member>
|
||||
<member optional="true" noautovalidity="true">const <type>VkCommandBufferInheritanceInfo</type>* <name>pInheritanceInfo</name><comment>Pointer to inheritance info for secondary command buffers</comment></member>
|
||||
</type>
|
||||
<type category="struct" name="VkRenderPassBeginInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDeviceGroupRenderPassBeginInfoKHX">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkRenderPass</type> <name>renderPass</name></member>
|
||||
<member><type>VkFramebuffer</type> <name>framebuffer</name></member>
|
||||
<member><type>VkRect2D</type> <name>renderArea</name></member>
|
||||
|
@ -1181,7 +1181,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkRenderPassCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkRenderPassMultiviewCreateInfoKHX">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkRenderPassCreateFlags</type> <name>flags</name></member>
|
||||
<member optional="true"><type>uint32_t</type> <name>attachmentCount</name></member>
|
||||
<member len="attachmentCount">const <type>VkAttachmentDescription</type>* <name>pAttachments</name></member>
|
||||
|
@ -1197,7 +1197,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkFenceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkExportFenceCreateInfoKHR,VkExportFenceWin32HandleInfoKHR">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkFenceCreateFlags</type> <name>flags</name><comment>Fence creation flags</comment></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceFeatures">
|
||||
|
@ -1383,7 +1383,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkSemaphoreCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkExportSemaphoreCreateInfoKHR,VkExportSemaphoreWin32HandleInfoKHR">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkSemaphoreCreateFlags</type> <name>flags</name><comment>Semaphore creation flags</comment></member>
|
||||
</type>
|
||||
<type category="struct" name="VkQueryPoolCreateInfo">
|
||||
|
@ -1425,7 +1425,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkSubmitInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_SUBMIT_INFO"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkWin32KeyedMutexAcquireReleaseInfoNV,VkWin32KeyedMutexAcquireReleaseInfoKHR,VkD3D12FenceSubmitInfoKHR,VkDeviceGroupSubmitInfoKHX">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>uint32_t</type> <name>waitSemaphoreCount</name></member>
|
||||
<member len="waitSemaphoreCount">const <type>VkSemaphore</type>* <name>pWaitSemaphores</name></member>
|
||||
<member len="waitSemaphoreCount">const <type>VkPipelineStageFlags</type>* <name>pWaitDstStageMask</name></member>
|
||||
|
@ -1557,7 +1557,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkSwapchainCreateInfoKHR">
|
||||
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDeviceGroupSwapchainCreateInfoKHX,VkSwapchainCounterCreateInfoEXT">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkSwapchainCreateFlagsKHR</type> <name>flags</name></member>
|
||||
<member><type>VkSurfaceKHR</type> <name>surface</name><comment>The swapchain's target surface</comment></member>
|
||||
<member><type>uint32_t</type> <name>minImageCount</name><comment>Minimum number of presentation images the application needs</comment></member>
|
||||
|
@ -1577,7 +1577,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkPresentInfoKHR">
|
||||
<member values="VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkDisplayPresentInfoKHR,VkPresentRegionsKHR,VkDeviceGroupPresentInfoKHX,VkPresentTimesInfoGOOGLE">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>uint32_t</type> <name>waitSemaphoreCount</name><comment>Number of semaphores to wait for before presenting</comment></member>
|
||||
<member len="waitSemaphoreCount">const <type>VkSemaphore</type>* <name>pWaitSemaphores</name><comment>Semaphores to wait for before presenting</comment></member>
|
||||
<member><type>uint32_t</type> <name>swapchainCount</name><comment>Number of swapchains to present in this call</comment></member>
|
||||
|
@ -1782,12 +1782,12 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceFeatures2KHR" structextends="VkDeviceCreateInfo">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPhysicalDevice16BitStorageFeaturesKHR,VkPhysicalDeviceVariablePointerFeaturesKHR,VkPhysicalDeviceMultiviewFeaturesKHX,VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT"><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkPhysicalDeviceFeatures</type> <name>features</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceProperties2KHR" returnedonly="true">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPhysicalDevicePushDescriptorPropertiesKHR,VkPhysicalDeviceIDPropertiesKHR,VkPhysicalDeviceMultiviewPropertiesKHX,VkPhysicalDeviceDiscardRectanglePropertiesEXT,VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT"><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkPhysicalDeviceProperties</type> <name>properties</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkFormatProperties2KHR" returnedonly="true">
|
||||
|
@ -1797,12 +1797,12 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkImageFormatProperties2KHR" returnedonly="true">
|
||||
<member values="VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkExternalImageFormatPropertiesKHR,VkTextureLODGatherFormatPropertiesAMD"><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkImageFormatProperties</type> <name>imageFormatProperties</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkPhysicalDeviceImageFormatInfo2KHR">
|
||||
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkPhysicalDeviceExternalImageFormatInfoKHR">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkFormat</type> <name>format</name></member>
|
||||
<member><type>VkImageType</type> <name>type</name></member>
|
||||
<member><type>VkImageTiling</type> <name>tiling</name></member>
|
||||
|
@ -2159,7 +2159,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkBindImageMemoryInfoKHX">
|
||||
<member values="VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHX"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkBindImageMemorySwapchainInfoKHX">const <type>void</type>* <name>pNext</name></member>
|
||||
<member>const <type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkImage</type> <name>image</name></member>
|
||||
<member><type>VkDeviceMemory</type> <name>memory</name></member>
|
||||
<member><type>VkDeviceSize</type> <name>memoryOffset</name></member>
|
||||
|
@ -2360,7 +2360,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkSurfaceCapabilities2KHR" returnedonly="true">
|
||||
<member values="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkSharedPresentSurfaceCapabilitiesKHR"><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkSurfaceCapabilitiesKHR</type> <name>surfaceCapabilities</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkSurfaceFormat2KHR" returnedonly="true">
|
||||
|
@ -2398,7 +2398,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
</type>
|
||||
<type category="struct" name="VkMemoryRequirements2KHR" returnedonly="true">
|
||||
<member values="VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member validextensionstructs="VkMemoryDedicatedRequirementsKHR"><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>void</type>* <name>pNext</name></member>
|
||||
<member><type>VkMemoryRequirements</type> <name>memoryRequirements</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkSparseImageMemoryRequirements2KHR" returnedonly="true">
|
||||
|
@ -6691,10 +6691,10 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
<enum value=""VK_AMD_extension_136"" name="VK_AMD_EXTENSION_136_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_137" number="137" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
<extension name="VK_AMD_mixed_attachment_samples" number="137" author="AMD" contact="Matthaeus G. Chajdas @anteru" supported="vulkan">
|
||||
<require>
|
||||
<enum value="0" name="VK_AMD_EXTENSION_137_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_extension_137"" name="VK_AMD_EXTENSION_137_EXTENSION_NAME"/>
|
||||
<enum value="1" name="VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION"/>
|
||||
<enum value=""VK_AMD_mixed_attachment_samples"" name="VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_AMD_extension_138" number="138" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
|
||||
|
@ -6739,9 +6739,9 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
<enum value=""VK_AMD_extension_144"" name="VK_AMD_EXTENSION_144_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_relaxed_block_layout" number="145" author="KHR" contact="John Kessenich @johnk" supported="disabled">
|
||||
<extension name="VK_KHR_relaxed_block_layout" number="145" type="device" author="KHR" contact="John Kessenich @johnk" supported="vulkan">
|
||||
<require>
|
||||
<enum value="0" name="VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION"/>
|
||||
<enum value="1" name="VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION"/>
|
||||
<enum value=""VK_KHR_relaxed_block_layout"" name="VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
@ -6880,10 +6880,10 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
<enum value=""VK_NV_extension_155"" name="VK_NV_EXTENSION_155_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_NV_extension_156" number="156" author="NV" contact="Jeff Bolz @jbolz" supported="disabled">
|
||||
<extension name="VK_EXT_post_depth_coverage" number="156" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan">
|
||||
<require>
|
||||
<enum value="0" name="VK_NV_EXTENSION_156_SPEC_VERSION"/>
|
||||
<enum value=""VK_NV_extension_156"" name="VK_NV_EXTENSION_156_EXTENSION_NAME"/>
|
||||
<enum value="1" name="VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_post_depth_coverage"" name="VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_KHR_extension_157" number="157" author="KHR" contact="Andrew Garrard @fluppeteer" supported="disabled">
|
||||
|
@ -6916,5 +6916,11 @@ private version is maintained in the 1.0 branch of the member gitlab server.
|
|||
<enum value=""VK_EXT_extension_161"" name="VK_EXT_EXTENSION_161_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_EXT_extension_162" number="162" author="NV" contact="Jeff Bolz @jbolz" supported="disabled">
|
||||
<require>
|
||||
<enum value="0" name="VK_EXT_EXTENSION_162_SPEC_VERSION"/>
|
||||
<enum value=""VK_EXT_extension_162"" name="VK_EXT_EXTENSION_162_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 56
|
||||
#define VK_HEADER_VERSION 57
|
||||
|
||||
|
||||
#define VK_NULL_HANDLE 0
|
||||
|
@ -1366,6 +1366,27 @@ typedef enum VkStencilFaceFlagBits {
|
|||
} VkStencilFaceFlagBits;
|
||||
typedef VkFlags VkStencilFaceFlags;
|
||||
|
||||
typedef struct VkApplicationInfo {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
const char* pApplicationName;
|
||||
uint32_t applicationVersion;
|
||||
const char* pEngineName;
|
||||
uint32_t engineVersion;
|
||||
uint32_t apiVersion;
|
||||
} VkApplicationInfo;
|
||||
|
||||
typedef struct VkInstanceCreateInfo {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkInstanceCreateFlags flags;
|
||||
const VkApplicationInfo* pApplicationInfo;
|
||||
uint32_t enabledLayerCount;
|
||||
const char* const* ppEnabledLayerNames;
|
||||
uint32_t enabledExtensionCount;
|
||||
const char* const* ppEnabledExtensionNames;
|
||||
} VkInstanceCreateInfo;
|
||||
|
||||
typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
|
||||
void* pUserData,
|
||||
size_t size,
|
||||
|
@ -1395,29 +1416,6 @@ typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
|
|||
VkInternalAllocationType allocationType,
|
||||
VkSystemAllocationScope allocationScope);
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
|
||||
|
||||
typedef struct VkApplicationInfo {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
const char* pApplicationName;
|
||||
uint32_t applicationVersion;
|
||||
const char* pEngineName;
|
||||
uint32_t engineVersion;
|
||||
uint32_t apiVersion;
|
||||
} VkApplicationInfo;
|
||||
|
||||
typedef struct VkInstanceCreateInfo {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkInstanceCreateFlags flags;
|
||||
const VkApplicationInfo* pApplicationInfo;
|
||||
uint32_t enabledLayerCount;
|
||||
const char* const* ppEnabledLayerNames;
|
||||
uint32_t enabledExtensionCount;
|
||||
const char* const* ppEnabledExtensionNames;
|
||||
} VkInstanceCreateInfo;
|
||||
|
||||
typedef struct VkAllocationCallbacks {
|
||||
void* pUserData;
|
||||
PFN_vkAllocationFunction pfnAllocation;
|
||||
|
@ -1658,6 +1656,7 @@ typedef struct VkPhysicalDeviceMemoryProperties {
|
|||
VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
|
||||
} VkPhysicalDeviceMemoryProperties;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
|
||||
typedef struct VkDeviceQueueCreateInfo {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
|
@ -4852,6 +4851,11 @@ typedef struct VkMemoryDedicatedAllocateInfoKHR {
|
|||
#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
|
||||
|
||||
|
||||
#define VK_KHR_relaxed_block_layout 1
|
||||
#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
|
||||
#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
|
||||
|
||||
|
||||
#define VK_KHR_get_memory_requirements2 1
|
||||
#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
|
||||
#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
|
||||
|
@ -4980,7 +4984,6 @@ typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
|
|||
const char* pMessage,
|
||||
void* pUserData);
|
||||
|
||||
|
||||
typedef struct VkDebugReportCallbackCreateInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
|
@ -6334,6 +6337,11 @@ typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
|
|||
#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
|
||||
|
||||
|
||||
#define VK_AMD_mixed_attachment_samples 1
|
||||
#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
|
||||
#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
|
||||
|
||||
|
||||
#define VK_EXT_blend_operation_advanced 1
|
||||
#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
|
||||
#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
|
||||
|
@ -6427,6 +6435,11 @@ typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
|
|||
#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
|
||||
|
||||
|
||||
#define VK_EXT_post_depth_coverage 1
|
||||
#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
|
||||
#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue