mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-18 01:06:46 +00:00
Change log for July 1, 2018 Vulkan 1.1.79 spec update:
* Update release number to 79. Public Issues: * Add a note to the <<features-required-format-support, Required Format Support>> section clarifying that the required formats don't depend on the used flags (public issue 671). * Add a valid usage statement for flink:vkUpdateDescriptors that was previously described for slink:VkImageSubresourceRange, but not as a valid usage statement (public issue 713). * Modify implicit valid usage generator script to not emit 'must: not be 0' for a parameter that is a pointer to a flags field, such as pname:pPeerMemoryFeatures (public issue 729). Internal Issues: * Add definitions of "`obsoleted`" and "`deprecated`", and modify the definition of "`promoted`" in the <<glossary, Glossary>> (internal issue 988). * Add language for integer texel output conversions (the conversion is undefined) to the <<textures-output-format-conversion]] Texel Output Format Conversion>> section. Simplify and clarify the floating-point conversion language in the <<fundamentals-general, General Requirements>> section and the new <<fundamentals-fp-conversion, Floating-Point Format Conversions>> section, and remove obsolete language in the format-specific floating-point sections (internal issue 1275). * Add the elink:VkVendorId enumerated type to the Vulkan API / XML / header, so reserved Khronos vendor IDs can be referred to symbolically by clients. Note that only Khronos vendor IDs (e.g. non-PCI vendor IDs) are defined (internal issue 1299). * Fix typo in the <<fig-non-strict-lines, Non strict lines>> table (internal issue 1315). * Clean up and simplify the <<features-formats-requiring-sampler-ycbcr-conversion, YCbCr format properties>> table and use symbols consistently with other tables. Add a column for the number of planes. * Add code:Float16 to the <<spirvenv-capabilities-table, List of optional SPIR-V capabilities>> for the `VK_AMD_gpu_shader_half_float` extension.
This commit is contained in:
parent
07d059c798
commit
ff9357a4ba
236
ChangeLog.txt
236
ChangeLog.txt
@ -8,6 +8,242 @@ public pull requests that have been accepted.
|
|||||||
|
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
Change log for July 1, 2018 Vulkan 1.1.79 spec update:
|
||||||
|
|
||||||
|
* Update release number to 79.
|
||||||
|
|
||||||
|
Public Issues:
|
||||||
|
|
||||||
|
* Add a note to the <<features-required-format-support, Required Format
|
||||||
|
Support>> section clarifying that the required formats don't depend on
|
||||||
|
the used flags (public issue 671).
|
||||||
|
* Add a valid usage statement for flink:vkUpdateDescriptors that was
|
||||||
|
previously described for slink:VkImageSubresourceRange, but not as a
|
||||||
|
valid usage statement (public issue 713).
|
||||||
|
* Modify implicit valid usage generator script to not emit 'must: not be
|
||||||
|
0' for a parameter that is a pointer to a flags field, such as
|
||||||
|
pname:pPeerMemoryFeatures (public issue 729).
|
||||||
|
|
||||||
|
Internal Issues:
|
||||||
|
|
||||||
|
* Add definitions of "`obsoleted`" and "`deprecated`", and modify the
|
||||||
|
definition of "`promoted`" in the <<glossary, Glossary>> (internal issue
|
||||||
|
988).
|
||||||
|
* Add language for integer texel output conversions (the conversion is
|
||||||
|
undefined) to the <<textures-output-format-conversion]] Texel Output
|
||||||
|
Format Conversion>> section. Simplify and clarify the floating-point
|
||||||
|
conversion language in the <<fundamentals-general, General
|
||||||
|
Requirements>> section and the new <<fundamentals-fp-conversion,
|
||||||
|
Floating-Point Format Conversions>> section, and remove obsolete
|
||||||
|
language in the format-specific floating-point sections (internal issue
|
||||||
|
1275).
|
||||||
|
* Add the elink:VkVendorId enumerated type to the Vulkan API / XML /
|
||||||
|
header, so reserved Khronos vendor IDs can be referred to symbolically
|
||||||
|
by clients. Note that only Khronos vendor IDs (e.g. non-PCI vendor IDs)
|
||||||
|
are defined (internal issue 1299).
|
||||||
|
* Fix typo in the <<fig-non-strict-lines, Non strict lines>> table
|
||||||
|
(internal issue 1315).
|
||||||
|
* Clean up and simplify the
|
||||||
|
<<features-formats-requiring-sampler-ycbcr-conversion, YCbCr format
|
||||||
|
properties>> table and use symbols consistently with other tables. Add a
|
||||||
|
column for the number of planes.
|
||||||
|
* Add code:Float16 to the <<spirvenv-capabilities-table, List of optional
|
||||||
|
SPIR-V capabilities>> for the `VK_AMD_gpu_shader_half_float` extension.
|
||||||
|
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
Change log for June 18, 2018 Vulkan 1.1.78 spec update:
|
||||||
|
|
||||||
|
* Update release number to 78.
|
||||||
|
|
||||||
|
Public Issues:
|
||||||
|
|
||||||
|
* Change markup so parameter descriptions include links to structures,
|
||||||
|
instead of just their names (public issue 697).
|
||||||
|
* Resume publishing updated Vulkan 1.0 + KHR extensions and Vulkan 1.0 +
|
||||||
|
all extensions versions of the specification (public issue 722).
|
||||||
|
* Reapply fixes from public pull request 698 for
|
||||||
|
`VK_ANDROID_external_memory_android_hardware_buffer`, which accidentally
|
||||||
|
were reverted at some point (public pull request 724).
|
||||||
|
* Fix undefined format valid usage statements for slink:VkImageCreateInfo
|
||||||
|
in the presence of the
|
||||||
|
`VK_ANDROID_external_memory_android_hardware_buffer` extension (public
|
||||||
|
pull request 725).
|
||||||
|
* Miscellaneous markup consistency fixes (public pull request 728).
|
||||||
|
|
||||||
|
Internal Issues:
|
||||||
|
|
||||||
|
* When building specifications containing vendor extensions, add terms to
|
||||||
|
the Khronos spec copyright specifying that the result is not a ratified
|
||||||
|
specification (internal issue 739).
|
||||||
|
* Change the value of the
|
||||||
|
pname:maxDescriptorSetUpdateAfterBindUniformBuffers minimum limit to 72
|
||||||
|
(6 times pname:maxPerStageDescriptorUpdateAfterBindUniformBuffers) in
|
||||||
|
the <<features-limits-required, Required Limits>> table (internal issue
|
||||||
|
1300).
|
||||||
|
|
||||||
|
Other Issues:
|
||||||
|
|
||||||
|
* Fix link to resource image view compatibility table in the valid usage
|
||||||
|
statements for slink:VkImageFormatListCreateInfoKHR (internal pull
|
||||||
|
request 2711).
|
||||||
|
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
Change log for June 10, 2018 Vulkan 1.1.77 spec update:
|
||||||
|
|
||||||
|
* Update release number to 77.
|
||||||
|
|
||||||
|
Public Issues:
|
||||||
|
|
||||||
|
* Remove redundant asciidoctor ifdef in slink:VkDeviceCreateInfo valid
|
||||||
|
usage statement (public pull request 718).
|
||||||
|
|
||||||
|
Internal Issues:
|
||||||
|
|
||||||
|
* Require that the returned slink:VkMemoryRequirements::pname:alignment
|
||||||
|
reflect the minimum alignment requirements for the buffer's usages, and
|
||||||
|
make dynamic offset alignment valid usage more explicit for
|
||||||
|
flink:vkBindBufferMemory and flink:vkCmdBindDescriptorSets (internal
|
||||||
|
issue 1170).
|
||||||
|
* Explicitly state that objects of type code:OpTypeImage,
|
||||||
|
code:OpTypeSampler, and code:OpTypeSampledImage must not be stored to in
|
||||||
|
the <<spirvenv-module-validation, Validation Rules within a Module>>
|
||||||
|
section (internal issue 1262).
|
||||||
|
* Clarify rules about validating descriptor set/binding against storage
|
||||||
|
class and descriptor type in the <<spirvenv-module-validation,
|
||||||
|
Validation Rules within a Module>> section, and add an anchor for and
|
||||||
|
references to the <<interfaces-resources-storage-class-correspondence,
|
||||||
|
Shader Resource and Storage Class Correspondence>> table (internal issue
|
||||||
|
1266).
|
||||||
|
* Use correct spelling of SPIR-V decoration code:NonWritable in several
|
||||||
|
places (internal issue 1298).
|
||||||
|
|
||||||
|
Other Issues:
|
||||||
|
|
||||||
|
* Update specification links to files in the old
|
||||||
|
KhronosGroup/Vulkan-LoaderAndValidationLayers repository with
|
||||||
|
corresponding links into the new repositories that replace it.
|
||||||
|
* Move validity requirement for slink:VkSamplerCreateInfo into the valid
|
||||||
|
usage block instead of the body text, and give it a VUID.
|
||||||
|
* Use the full name of the "`style guide`" in a reference in the
|
||||||
|
description of slink:vkGetPhysicalDeviceProperties, update the
|
||||||
|
<<vulkan-styleguide, link to that document>>, and use the the full name
|
||||||
|
in the registry index page.
|
||||||
|
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
Change log for May 25, 2018 Vulkan 1.1.76 spec update:
|
||||||
|
|
||||||
|
* Update release number to 76.
|
||||||
|
|
||||||
|
Internal Issues:
|
||||||
|
|
||||||
|
* Add an exception clause to the license on `vk.xml`, enabling its use
|
||||||
|
with GPL-based projects (internal issue 1017).
|
||||||
|
* Remove the generated `vulkan_ext.[ch]` files, which are no longer
|
||||||
|
supported. Add `src/ext_loader/README.md` explaining why, and update
|
||||||
|
files in `xml/` to not generate them by default (internal issue 1268)
|
||||||
|
|
||||||
|
Other Issues:
|
||||||
|
|
||||||
|
* Fix typos in valid usage statements for the
|
||||||
|
ftext:vkDrawIndexedIndirectCount* commands, replacing
|
||||||
|
sizeof(VkDrawIndirectComment) with sizeof(VkDrawIndexedIndirectCommand).
|
||||||
|
* Modify the <<spirvenv-module-validation, Validation Rules within a
|
||||||
|
Module>> section to require code:NonReadable or code:NonWriteable in
|
||||||
|
SPIR-V code for images with an image format of code:Unknown if one of
|
||||||
|
the requisite code:shaderImageReadWithoutFormat or
|
||||||
|
code:shaderImageWriteWithoutFormat features is disabled.
|
||||||
|
|
||||||
|
New Extensions:
|
||||||
|
|
||||||
|
* `VK_KHR_get_display_properties2`
|
||||||
|
* `VK_KHR_draw_indirect_count`
|
||||||
|
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
Change log for May 16, 2018 Vulkan 1.1.75 spec update:
|
||||||
|
|
||||||
|
* Update release number to 75.
|
||||||
|
|
||||||
|
Github Issues:
|
||||||
|
|
||||||
|
* Use Github handles (e.g. @handle) for contact information in vk.xml,
|
||||||
|
when available (partial fix for public issue 630).
|
||||||
|
* Add size invariance guarantee to slink:VkMemoryRequirements for
|
||||||
|
buffer/image memory requirements (public issue 661).
|
||||||
|
* Correct scope (conditional constructs) in valid usage statement for
|
||||||
|
slink:VkBindImageMemoryInfo (public pull request 684).
|
||||||
|
* Clean up minor markup issues and typos in the
|
||||||
|
`VK_ANDROID_external_memory_android_hardware_buffer` extension appendix
|
||||||
|
(public pull request 698).
|
||||||
|
* Modify registry processing script to avoid irrelevant warnings of benign
|
||||||
|
enumerant redefinitions (public pull request 705).
|
||||||
|
* Fix some duplicate words and some misspelled "`stagess`" (public pull
|
||||||
|
request 712)
|
||||||
|
|
||||||
|
Internal Issues:
|
||||||
|
|
||||||
|
* Enable continuous integration tests on the internal Khronos gitlab
|
||||||
|
server by adding a .gitlab-ci.yml file. Note: this does not implement CI
|
||||||
|
on the public Github repository (internal issue 408).
|
||||||
|
* Add link from description of depth clamping in the <<fragops-depth,
|
||||||
|
depth test>> section to the
|
||||||
|
slink:VkPipelineRasterizationStateCreateInfo::pname:depthClampEnable
|
||||||
|
parameter which enables it, making it easily searchable / findable
|
||||||
|
(internal issue 1125).
|
||||||
|
* Clarify that arrays of arrays of descriptors are not allowed in the
|
||||||
|
<<interfaces-resources-descset, Descriptor Set Interface>> and
|
||||||
|
<<interfaces-resources-setandbinding, DescriptorSet and Binding
|
||||||
|
Assignment>> sections (internal issue 1192).
|
||||||
|
* Comment out some redundant nested asciidoctor conditionals in the
|
||||||
|
slink:VkImageViewCreateInfo valid usage block, and explain in all cases
|
||||||
|
why the redundant conditional exist and are commented out (internal
|
||||||
|
issue 1231).
|
||||||
|
* Move a valid usage statement from slink:VkCommandPoolCreateInfo to the
|
||||||
|
parent flink:vkCreateCommandPool, where the device queue is known
|
||||||
|
(internal issue 1233).
|
||||||
|
* Add new slink:VkBaseInStructure and slink:VkBaseOutStructure types which
|
||||||
|
can be used by extensions and implementations for handling Vulkan
|
||||||
|
sType/pNext style structures in a more generic way (internal issue
|
||||||
|
1265).
|
||||||
|
* Clarify that
|
||||||
|
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
|
||||||
|
only applies to external-format images. Add references to this in valid
|
||||||
|
usage statements that previously only referred to
|
||||||
|
slink:VkFormatProperties (internal issue 1244).
|
||||||
|
* Fix the description of elink:VkPipelineCreateFlagBits enumerant
|
||||||
|
ename:VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT to match the
|
||||||
|
name (internal issue 1279).
|
||||||
|
* Add a NOTE to the <<interfaces-resources-setandbinding, DescriptorSet
|
||||||
|
and Binding Assignment>> section making it clear that variables sharing
|
||||||
|
a storage class may use identical descriptor set and bindings.
|
||||||
|
Specifically state the sometimes misunderstood ability to have one or
|
||||||
|
more differently typed image descriptors sharing a descriptor set and
|
||||||
|
binding (internal SPIR-V issue 264).
|
||||||
|
* Make DynamicIndexing features and capabilities also control the
|
||||||
|
uniformity of the descriptor used in memory access instructions in the
|
||||||
|
<<interfaces-resources-descset, Descriptor Set Interface>> section. This
|
||||||
|
makes them also apply to variable_pointer usage, which can bypass the
|
||||||
|
array indexing operation (internal SPIR-V issue 289).
|
||||||
|
|
||||||
|
Other Issues:
|
||||||
|
|
||||||
|
* Correct flink:vkCmdBlitImage limitations on cubic blits to be 2D only,
|
||||||
|
not 3D.
|
||||||
|
* Update valid usage statements for slink:VkRenderPassCreateInfo and
|
||||||
|
slink:VkInputAttachmentAspectReference.
|
||||||
|
* Move YCbCr-related VU statements from slink:VkDescriptorImageInfo to
|
||||||
|
slink:VkWriteDescriptorSet, where all needed information is known, and
|
||||||
|
remove redundant statements.
|
||||||
|
* Move SPIR-V restriction that images be of either sampled or storage
|
||||||
|
types from the <<interfaces-resources-descset, Descriptor Set
|
||||||
|
Interface>> section to the <<spirvenv-module-validation, Validation
|
||||||
|
Rules within a Module>> section of the SPIR-V appendix.
|
||||||
|
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
Change log for April 21, 2018 Vulkan 1.1.74 spec update:
|
Change log for April 21, 2018 Vulkan 1.1.74 spec update:
|
||||||
|
|
||||||
* Update release number to 74.
|
* Update release number to 74.
|
||||||
|
2
Makefile
2
Makefile
@ -107,7 +107,7 @@ VERBOSE =
|
|||||||
# EXTRAATTRIBS sets additional attributes, if passed to make
|
# EXTRAATTRIBS sets additional attributes, if passed to make
|
||||||
# ADOCOPTS options for asciidoc->HTML5 output
|
# ADOCOPTS options for asciidoc->HTML5 output
|
||||||
NOTEOPTS = -a editing-notes -a implementation-guide
|
NOTEOPTS = -a editing-notes -a implementation-guide
|
||||||
PATCHVERSION = 78
|
PATCHVERSION = 79
|
||||||
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
|
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
|
||||||
SPECREVISION = 1.1.$(PATCHVERSION)
|
SPECREVISION = 1.1.$(PATCHVERSION)
|
||||||
else
|
else
|
||||||
|
@ -9,8 +9,8 @@ include::meta/VK_AMD_negative_viewport_height.txt[]
|
|||||||
- Graham Sellers, AMD
|
- Graham Sellers, AMD
|
||||||
- Baldur Karlsson
|
- Baldur Karlsson
|
||||||
*Interactions and External Dependencies*::
|
*Interactions and External Dependencies*::
|
||||||
- Deprecated by `VK_KHR_maintenance1`
|
- Obsoleted by `VK_KHR_maintenance1`
|
||||||
- Deprecated by Vulkan 1.1
|
- Obsoleted by Vulkan 1.1
|
||||||
|
|
||||||
This extension allows an application to specify a negative viewport height.
|
This extension allows an application to specify a negative viewport height.
|
||||||
The result is that the viewport transformation will flip along the y-axis.
|
The result is that the viewport transformation will flip along the y-axis.
|
||||||
@ -21,7 +21,7 @@ The result is that the viewport transformation will flip along the y-axis.
|
|||||||
This allows apps to avoid having to use `gl_Position.y = -gl_Position.y`
|
This allows apps to avoid having to use `gl_Position.y = -gl_Position.y`
|
||||||
in shaders also targeting other APIs.
|
in shaders also targeting other APIs.
|
||||||
|
|
||||||
=== Deprecation by VK_KHR_maintenance1 and Vulkan 1.1
|
=== Obsoletion by VK_KHR_maintenance1 and Vulkan 1.1
|
||||||
|
|
||||||
Functionality in this extension is included in `VK_KHR_maintenance1` and
|
Functionality in this extension is included in `VK_KHR_maintenance1` and
|
||||||
Vulkan 1.1.
|
Vulkan 1.1.
|
||||||
@ -29,7 +29,6 @@ Due to some slight behavioral differences, this extension must: not be
|
|||||||
enabled alongside `VK_KHR_maintenance1`, or in an instance created with
|
enabled alongside `VK_KHR_maintenance1`, or in an instance created with
|
||||||
version 1.1 or later requested in slink:VkApplicationInfo::pname:apiVersion.
|
version 1.1 or later requested in slink:VkApplicationInfo::pname:apiVersion.
|
||||||
|
|
||||||
|
|
||||||
=== Version History
|
=== Version History
|
||||||
|
|
||||||
* Revision 1, 2016-09-02 (Matthaeus Chajdas)
|
* Revision 1, 2016-09-02 (Matthaeus Chajdas)
|
||||||
|
@ -226,9 +226,16 @@ Cull Volume::
|
|||||||
The intersection of the view volume with all cull half-spaces.
|
The intersection of the view volume with all cull half-spaces.
|
||||||
|
|
||||||
Decoration (SPIR-V)::
|
Decoration (SPIR-V)::
|
||||||
Auxiliary information such as built-in variables, stream numbers,
|
Auxiliary information such as built-in variables, stream numbers,
|
||||||
invariance, interpolation type, relaxed precision, etc., added to
|
invariance, interpolation type, relaxed precision, etc., added to
|
||||||
variables or structure-type members through decorations.
|
variables or structure-type members through decorations.
|
||||||
|
|
||||||
|
Deprecated::
|
||||||
|
A feature is deprecated if it is no longer recommended as the correct or
|
||||||
|
best way to achieve its intended purpose.
|
||||||
|
Generally a newer feature will have been created that solves the same
|
||||||
|
problem - in cases where no newer alternative feature exists,
|
||||||
|
justification should be provided.
|
||||||
|
|
||||||
Depth/Stencil Attachment::
|
Depth/Stencil Attachment::
|
||||||
A subpass attachment point, or image view, that is the target of depth
|
A subpass attachment point, or image view, that is the target of depth
|
||||||
@ -804,6 +811,13 @@ Object Table::
|
|||||||
Entries are registered or unregistered via code:uint32_t indices.
|
Entries are registered or unregistered via code:uint32_t indices.
|
||||||
endif::VK_NVX_device_generated_commands[]
|
endif::VK_NVX_device_generated_commands[]
|
||||||
|
|
||||||
|
Obsoleted::
|
||||||
|
A feature is obsolete if it can no longer be used.
|
||||||
|
For core features, making one obsolete would be in violation of the
|
||||||
|
<<fundamentals-versionnum, compatibility rules>>, so must not be done.
|
||||||
|
However extensions do not have these guarantees, and can be made
|
||||||
|
obsolete by a newer core version or extension.
|
||||||
|
|
||||||
Overlapped Range (Aliased Range)::
|
Overlapped Range (Aliased Range)::
|
||||||
The aliased range of a device memory allocation that intersects a given
|
The aliased range of a device memory allocation that intersects a given
|
||||||
image subresource of an image or range of a buffer.
|
image subresource of an image or range of a buffer.
|
||||||
@ -931,15 +945,19 @@ Primitive Topology::
|
|||||||
State that controls how vertices are assembled into primitives, e.g. as
|
State that controls how vertices are assembled into primitives, e.g. as
|
||||||
lists of triangles, strips of lines, etc..
|
lists of triangles, strips of lines, etc..
|
||||||
|
|
||||||
ifdef::VK_VERSION_1_1[]
|
|
||||||
Promoted::
|
Promoted::
|
||||||
An extension whose interfaces are later made available as part of a
|
A feature is promoted if it is taken from an older extension and made
|
||||||
<<versions-1.1,core version of the API>>, with the author ID suffixes
|
available as part of a new <<versions,core version of the API>>, or a
|
||||||
removed, is said to be _promoted_ to that core version.
|
newer extension that is considered to be either as widely supported or
|
||||||
Minor differences, such as making the availability of specific features
|
more so.
|
||||||
from the extension supported only if a corresponding feature bit is
|
A promoted feature may have minor differences from the original such as:
|
||||||
enabled, may still exist.
|
* It may be renamed
|
||||||
|
* A small number of non-intrusive parameters may have been added
|
||||||
|
* The feature may be advertised differently by
|
||||||
|
<<features-features,device features>>
|
||||||
|
* The author ID suffixes will be changed or removed as appropriate
|
||||||
|
|
||||||
|
ifdef::VK_VERSION_1_1[]
|
||||||
Protected Buffer::
|
Protected Buffer::
|
||||||
A buffer to which protected device memory can: be bound.
|
A buffer to which protected device memory can: be bound.
|
||||||
|
|
||||||
|
@ -195,6 +195,9 @@ ifdef::VK_EXT_descriptor_indexing[]
|
|||||||
| code:UniformTexelBufferArrayNonUniformIndexingEXT | <<features-features-shaderUniformTexelBufferArrayNonUniformIndexing,shaderUniformTexelBufferArrayNonUniformIndexing>>
|
| code:UniformTexelBufferArrayNonUniformIndexingEXT | <<features-features-shaderUniformTexelBufferArrayNonUniformIndexing,shaderUniformTexelBufferArrayNonUniformIndexing>>
|
||||||
| code:StorageTexelBufferArrayNonUniformIndexingEXT | <<features-features-shaderStorageTexelBufferArrayNonUniformIndexing,shaderStorageTexelBufferArrayNonUniformIndexing>>
|
| code:StorageTexelBufferArrayNonUniformIndexingEXT | <<features-features-shaderStorageTexelBufferArrayNonUniformIndexing,shaderStorageTexelBufferArrayNonUniformIndexing>>
|
||||||
endif::VK_EXT_descriptor_indexing[]
|
endif::VK_EXT_descriptor_indexing[]
|
||||||
|
ifdef::VK_AMD_gpu_shader_half_float[]
|
||||||
|
| code:Float16 | `<<VK_AMD_gpu_shader_half_float>>`
|
||||||
|
endif::VK_AMD_gpu_shader_half_float[]
|
||||||
|====
|
|====
|
||||||
|
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_variable_pointers[]
|
ifdef::VK_VERSION_1_1,VK_KHR_variable_pointers[]
|
||||||
|
@ -353,8 +353,8 @@ of Vulkan when events of interest occur.
|
|||||||
When an event of interest does occur, the debug messenger will submit a
|
When an event of interest does occur, the debug messenger will submit a
|
||||||
debug message to the debug callback that was provided during its creation.
|
debug message to the debug callback that was provided during its creation.
|
||||||
Additionally, the debug messenger is responsible with filtering out debug
|
Additionally, the debug messenger is responsible with filtering out debug
|
||||||
messages that the callback isn't interested in and will only provide desired
|
messages that the callback is not interested in and will only provide
|
||||||
debug messages.
|
desired debug messages.
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|
||||||
|
@ -1832,7 +1832,7 @@ ifdef::VK_EXT_descriptor_indexing[]
|
|||||||
* ename:VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT specifies that
|
* ename:VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT specifies that
|
||||||
descriptor sets allocated from this pool can: include bindings with the
|
descriptor sets allocated from this pool can: include bindings with the
|
||||||
ename:VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT bit set.
|
ename:VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT bit set.
|
||||||
It is valid to allocate descriptor sets that have bindings that don't
|
It is valid to allocate descriptor sets that have bindings that do not
|
||||||
set the ename:VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT bit from a
|
set the ename:VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT bit from a
|
||||||
pool that has ename:VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
|
pool that has ename:VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
|
||||||
set.
|
set.
|
||||||
@ -2610,7 +2610,8 @@ ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
|||||||
pname:imageView must: not be 2D or 2D array image view created from a 3D
|
pname:imageView must: not be 2D or 2D array image view created from a 3D
|
||||||
image
|
image
|
||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
* If pname:imageView is created from a depth/stencil image, the
|
* [[VUID-VkDescriptorImageInfo-imageView-01976]]
|
||||||
|
If pname:imageView is created from a depth/stencil image, the
|
||||||
pname:aspectMask used to create the pname:imageView must: include either
|
pname:aspectMask used to create the pname:imageView must: include either
|
||||||
ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT but
|
ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT but
|
||||||
not both.
|
not both.
|
||||||
|
@ -154,6 +154,7 @@ Procedures and Conventions>> document in the section "`Registering a Vendor
|
|||||||
ID with Khronos`".
|
ID with Khronos`".
|
||||||
Khronos vendor IDs are allocated starting at 0x10000, to distinguish them
|
Khronos vendor IDs are allocated starting at 0x10000, to distinguish them
|
||||||
from the PCI vendor ID namespace.
|
from the PCI vendor ID namespace.
|
||||||
|
Khronos vendor IDs are symbolically defined in the elink:VkVendorId type.
|
||||||
|
|
||||||
The vendor is also responsible for the value returned in pname:deviceID.
|
The vendor is also responsible for the value returned in pname:deviceID.
|
||||||
If the implementation is driven primarily by a https://pcisig.com/[PCI
|
If the implementation is driven primarily by a https://pcisig.com/[PCI
|
||||||
@ -177,6 +178,29 @@ should: use the same device ID, even if those uses occur in different SoCs.
|
|||||||
include::../validity/structs/VkPhysicalDeviceProperties.txt[]
|
include::../validity/structs/VkPhysicalDeviceProperties.txt[]
|
||||||
--
|
--
|
||||||
|
|
||||||
|
[open,refpage='VkVendorId',desc='Khronos vendor IDs',type='enums']
|
||||||
|
--
|
||||||
|
Khronos vendor IDs which may: be returned in
|
||||||
|
slink:VkPhysicalDeviceProperties::pname:vendorID are:
|
||||||
|
|
||||||
|
include::../api/enums/VkVendorId.txt[]
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
.Note
|
||||||
|
====
|
||||||
|
Khronos vendor IDs may be allocated by vendors at any time.
|
||||||
|
Only the latest canonical versions of this Specification, of the
|
||||||
|
corresponding `vk.xml` API Registry, and of the corresponding
|
||||||
|
`vulkan_core.h` header file must: contain all reserved Khronos vendor IDs.
|
||||||
|
|
||||||
|
Only Khronos vendor IDs are given symbolic names at present.
|
||||||
|
PCI vendor IDs returned by the implementation can be looked up in the
|
||||||
|
PCI-SIG database.
|
||||||
|
====
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
|
||||||
[open,refpage='VkPhysicalDeviceType',desc='Supported physical device types',type='enums']
|
[open,refpage='VkPhysicalDeviceType',desc='Supported physical device types',type='enums']
|
||||||
--
|
--
|
||||||
|
|
||||||
|
@ -2666,7 +2666,7 @@ structure describe the following implementation-dependent limits:
|
|||||||
across all pools that are created with the
|
across all pools that are created with the
|
||||||
ename:VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT bit set.
|
ename:VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT bit set.
|
||||||
Pool creation may: fail when this limit is exceeded, or when the space
|
Pool creation may: fail when this limit is exceeded, or when the space
|
||||||
this limit represents can't satisfy a pool creation due to
|
this limit represents cannot: satisfy a pool creation due to
|
||||||
fragmentation.
|
fragmentation.
|
||||||
* [[features-limits-shaderUniformBufferArrayNonUniformIndexingNative]]
|
* [[features-limits-shaderUniformBufferArrayNonUniformIndexingNative]]
|
||||||
pname:shaderUniformBufferArrayNonUniformIndexingNative is a boolean
|
pname:shaderUniformBufferArrayNonUniformIndexingNative is a boolean
|
||||||
@ -5311,8 +5311,14 @@ supported, and images of that format cannot be created.
|
|||||||
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
====
|
====
|
||||||
|
|
||||||
If pname:format is a block-compression format, then buffers must: not
|
If pname:format is a block-compression format, then pname:bufferFeatures
|
||||||
support any features for the format.
|
must: not support any features for the format.
|
||||||
|
|
||||||
|
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
|
If pname:format is a multi-plane format then pname:linearTilingFeatures and
|
||||||
|
pname:optimalTilingFeatures must: not contain
|
||||||
|
ename:VK_FORMAT_FEATURE_DISJOINT_BIT.
|
||||||
|
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
|
|
||||||
include::../validity/structs/VkFormatProperties.txt[]
|
include::../validity/structs/VkFormatProperties.txt[]
|
||||||
--
|
--
|
||||||
@ -5541,6 +5547,13 @@ advertise an extension or needing to explicitly enable them.
|
|||||||
Support for additional functionality beyond the requirements listed here is
|
Support for additional functionality beyond the requirements listed here is
|
||||||
queried using the flink:vkGetPhysicalDeviceFormatProperties command.
|
queried using the flink:vkGetPhysicalDeviceFormatProperties command.
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
.Note
|
||||||
|
====
|
||||||
|
The required formats are supported for all elink:VkImageCreateFlags values
|
||||||
|
as long as those flag values are otherwise allowed.
|
||||||
|
====
|
||||||
|
|
||||||
The following tables show which feature bits must: be supported for each
|
The following tables show which feature bits must: be supported for each
|
||||||
format.
|
format.
|
||||||
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
|
||||||
@ -6095,51 +6108,50 @@ Y'C~B~C~R~ conversion>> must: be enabled for the following formats:
|
|||||||
|
|
||||||
[[features-formats-requiring-sampler-ycbcr-conversion]]
|
[[features-formats-requiring-sampler-ycbcr-conversion]]
|
||||||
.Formats requiring sampler Y'C~B~C~R~ conversion for ename:VK_IMAGE_ASPECT_COLOR_BIT image views
|
.Formats requiring sampler Y'C~B~C~R~ conversion for ename:VK_IMAGE_ASPECT_COLOR_BIT image views
|
||||||
[width="100%",cols="15,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1",options="unbreakable"]
|
[width="100%",cols="18,^3,^1,^1,^1,^1,^1,^1,^1,^1,^1,^1",options="unbreakable"]
|
||||||
|====
|
|====
|
||||||
10+>| Format must: be supported if slink:VkPhysicalDeviceSamplerYcbcrConversionFeatures is enabled .11+^.^| {downarrow}
|
11+>| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT .11+^.^| {downarrow}
|
||||||
9+>| Format is treated as having 2{times}1 texel blocks by transfer operations .10+^.^| {downarrow}
|
10+>| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT .10+^.^| {downarrow}
|
||||||
8+>| ename:VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT .9+^.^| {downarrow}
|
9+>| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT .9+^.^| {downarrow}
|
||||||
7+>| ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT .8+^.^| {downarrow}
|
8+>| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT .8+^.^| {downarrow}
|
||||||
6+>| ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT .7+^.^| {downarrow}
|
7+>| ename:VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT .7+^.^| {downarrow}
|
||||||
5+>| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT .6+^.^| {downarrow}
|
6+>| ename:VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT .6+^.^| {downarrow}
|
||||||
4+>| ename:VK_FORMAT_FEATURE_DISJOINT_BIT .5+^.^| {downarrow}
|
5+>| ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT .5+^.^| {downarrow}
|
||||||
3+>| Multi-planar format with three planes .4+^.^| {downarrow}
|
4+>| ename:VK_FORMAT_FEATURE_TRANSFER_SRC_BIT .4+^.^| {downarrow}
|
||||||
2+>| Multi-planar format with two planes .3+^.^| {downarrow}
|
3+>| ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT .3+^.^| {downarrow}
|
||||||
1+>| Single-plane format .2+^.^| {downarrow}
|
2+>| ename:VK_FORMAT_FEATURE_DISJOINT_BIT .2+^.^| {downarrow}
|
||||||
s| Format
|
s| Format s| Planes
|
||||||
| ename:VK_FORMAT_G8B8G8R8_422_UNORM | {sym1} | | | | {sym2} | {sym2} | {sym2} | | {sym1} |
|
| ename:VK_FORMAT_G8B8G8R8_422_UNORM | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_B8G8R8G8_422_UNORM | {sym1} | | | | {sym2} | {sym2} | {sym2} | | {sym1} |
|
| ename:VK_FORMAT_B8G8R8G8_422_UNORM | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM | | | {sym1} | {sym2} | {sym1} | {sym1} | {sym1} | {sym1} | | {sym1}
|
| ename:VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM | 3 | | {sym1} | {sym1} | {sym1} | {sym1} | | | | |
|
||||||
| ename:VK_FORMAT_G8_B8R8_2PLANE_420_UNORM | | {sym1} | | {sym2} | {sym1} | {sym1} | {sym1} | {sym1} | | {sym1}
|
| ename:VK_FORMAT_G8_B8R8_2PLANE_420_UNORM | 2 | | {sym1} | {sym1} | {sym1} | {sym1} | | | | |
|
||||||
| ename:VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G8_B8R8_2PLANE_422_UNORM | | {sym1} | | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G8_B8R8_2PLANE_422_UNORM | 2 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 | {sym1} | | | | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 | {sym1} | | | | {sym2} | {sym2} | {sym2} | | {sym1} |
|
| ename:VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 | {sym1} | | | | {sym2} | {sym2} | {sym2} | | {sym1} |
|
| ename:VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 | | {sym1} | | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 | 2 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 | | {sym1} | | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 | 2 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 | {sym1} | | | | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 | {sym1} | | | | {sym2} | {sym2} | {sym2} | | {sym1} |
|
| ename:VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 | {sym1} | | | | {sym2} | {sym2} | {sym2} | | {sym1} |
|
| ename:VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 | | {sym1} | | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 | 2 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 | | {sym1} | | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 | 2 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G16B16G16R16_422_UNORM | {sym1} | | | | {sym2} | {sym2} | {sym2} | | {sym1} |
|
| ename:VK_FORMAT_G16B16G16R16_422_UNORM | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_B16G16R16G16_422_UNORM | {sym1} | | | | {sym2} | {sym2} | {sym2} | | {sym1} |
|
| ename:VK_FORMAT_B16G16R16G16_422_UNORM | 1 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G16_B16R16_2PLANE_420_UNORM | | {sym1} | | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G16_B16R16_2PLANE_420_UNORM | 2 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM | 3 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G16_B16R16_2PLANE_422_UNORM | | {sym1} | | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G16_B16R16_2PLANE_422_UNORM | 2 | | | | | | | | | |
|
||||||
| ename:VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM | | | {sym1} | {sym2} | {sym2} | {sym2} | {sym2} | | |
|
| ename:VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM | 3 | | | | | | | | | |
|
||||||
11+| Format features marked {sym1} must: be supported if the format is supported
|
12+| Format features marked {sym1} must: be supported only if slink:VkPhysicalDeviceSamplerYcbcrConversionFeatures is enabled
|
||||||
11+| Format features marked {sym2} may: be supported by the format
|
|
||||||
|====
|
|====
|
||||||
|
|
||||||
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
|
||||||
|
@ -1213,15 +1213,21 @@ as [eq]#0 / 0#.
|
|||||||
Implementations may: support [eq]#Inf# and [eq]#NaN# in their floating-point
|
Implementations may: support [eq]#Inf# and [eq]#NaN# in their floating-point
|
||||||
computations.
|
computations.
|
||||||
|
|
||||||
Any representable floating-point value is legal as input to a Vulkan command
|
|
||||||
that requires floating-point data.
|
[[fundamentals-fp-conversion]]
|
||||||
The result of providing a value that is not a floating-point number to such
|
=== Floating-Point Format Conversions
|
||||||
a command is unspecified, but must: not lead to Vulkan interruption or
|
|
||||||
termination.
|
When a value is converted to a defined floating-point representation, finite
|
||||||
In <<ieee-754,IEEE 754>> arithmetic, for example, providing a negative zero
|
values falling between two representable finite values are rounded to one or
|
||||||
or a denormalized number to an Vulkan command must: yield deterministic
|
the other.
|
||||||
results, while providing a [eq]#NaN# or [eq]#Inf# yields unspecified
|
The rounding mode is not defined.
|
||||||
results.
|
Finite values whose magnitude is larger than that of any representable
|
||||||
|
finite value may be rounded either to the closest representable finite value
|
||||||
|
or to the appropriately signed infinity.
|
||||||
|
For unsigned destination formats any negative values are converted to zero.
|
||||||
|
Positive infinity is converted to positive infinity; negative infinity is
|
||||||
|
converted to negative infinity in signed formats and to zero in unsigned
|
||||||
|
formats; and any [eq]#NaN# is converted to a [eq]#NaN#.
|
||||||
|
|
||||||
|
|
||||||
[[fundamentals-fp16]]
|
[[fundamentals-fp16]]
|
||||||
@ -1230,14 +1236,6 @@ results.
|
|||||||
16-bit floating point numbers are defined in the "`16-bit floating point
|
16-bit floating point numbers are defined in the "`16-bit floating point
|
||||||
numbers`" section of the <<data-format,Khronos Data Format Specification>>.
|
numbers`" section of the <<data-format,Khronos Data Format Specification>>.
|
||||||
|
|
||||||
Any representable 16-bit floating-point value is legal as input to a Vulkan
|
|
||||||
command that accepts 16-bit floating-point data.
|
|
||||||
The result of providing a value that is not a floating-point number (such as
|
|
||||||
[eq]#Inf# or [eq]#NaN#) to such a command is unspecified, but must: not lead
|
|
||||||
to Vulkan interruption or termination.
|
|
||||||
Providing a denormalized number or negative zero to Vulkan must: yield
|
|
||||||
deterministic results.
|
|
||||||
|
|
||||||
|
|
||||||
[[fundamentals-fp11]]
|
[[fundamentals-fp11]]
|
||||||
=== Unsigned 11-Bit Floating-Point Numbers
|
=== Unsigned 11-Bit Floating-Point Numbers
|
||||||
@ -1246,26 +1244,6 @@ Unsigned 11-bit floating point numbers are defined in the "`Unsigned 11-bit
|
|||||||
floating point numbers`" section of the <<data-format,Khronos Data Format
|
floating point numbers`" section of the <<data-format,Khronos Data Format
|
||||||
Specification>>.
|
Specification>>.
|
||||||
|
|
||||||
When a floating-point value is converted to an unsigned 11-bit
|
|
||||||
floating-point representation, finite values are rounded to the closest
|
|
||||||
representable finite value.
|
|
||||||
|
|
||||||
While less accurate, implementations are allowed to always round in the
|
|
||||||
direction of zero.
|
|
||||||
This means negative values are converted to zero.
|
|
||||||
Likewise, finite positive values greater than 65024 (the maximum finite
|
|
||||||
representable unsigned 11-bit floating-point value) are converted to 65024.
|
|
||||||
Additionally: negative infinity is converted to zero; positive infinity is
|
|
||||||
converted to positive infinity; and both positive and negative [eq]#NaN# are
|
|
||||||
converted to positive [eq]#NaN#.
|
|
||||||
|
|
||||||
Any representable unsigned 11-bit floating-point value is legal as input to
|
|
||||||
a Vulkan command that accepts 11-bit floating-point data.
|
|
||||||
The result of providing a value that is not a floating-point number (such as
|
|
||||||
[eq]#Inf# or [eq]#NaN#) to such a command is unspecified, but must: not lead
|
|
||||||
to Vulkan interruption or termination.
|
|
||||||
Providing a denormalized number to Vulkan must: yield deterministic results.
|
|
||||||
|
|
||||||
|
|
||||||
[[fundamentals-fp10]]
|
[[fundamentals-fp10]]
|
||||||
=== Unsigned 10-Bit Floating-Point Numbers
|
=== Unsigned 10-Bit Floating-Point Numbers
|
||||||
@ -1274,30 +1252,19 @@ Unsigned 10-bit floating point numbers are defined in the "`Unsigned 10-bit
|
|||||||
floating point numbers`" section of the <<data-format,Khronos Data Format
|
floating point numbers`" section of the <<data-format,Khronos Data Format
|
||||||
Specification>>.
|
Specification>>.
|
||||||
|
|
||||||
When a floating-point value is converted to an unsigned 10-bit
|
|
||||||
floating-point representation, finite values are rounded to the closest
|
|
||||||
representable finite value.
|
|
||||||
|
|
||||||
While less accurate, implementations are allowed to always round in the
|
|
||||||
direction of zero.
|
|
||||||
This means negative values are converted to zero.
|
|
||||||
Likewise, finite positive values greater than 64512 (the maximum finite
|
|
||||||
representable unsigned 10-bit floating-point value) are converted to 64512.
|
|
||||||
Additionally: negative infinity is converted to zero; positive infinity is
|
|
||||||
converted to positive infinity; and both positive and negative [eq]#NaN# are
|
|
||||||
converted to positive [eq]#NaN#.
|
|
||||||
|
|
||||||
Any representable unsigned 10-bit floating-point value is legal as input to
|
|
||||||
a Vulkan command that accepts 10-bit floating-point data.
|
|
||||||
The result of providing a value that is not a floating-point number (such as
|
|
||||||
[eq]#Inf# or [eq]#NaN#) to such a command is unspecified, but must: not lead
|
|
||||||
to Vulkan interruption or termination.
|
|
||||||
Providing a denormalized number to Vulkan must: yield deterministic results.
|
|
||||||
|
|
||||||
|
|
||||||
[[fundamentals-general]]
|
[[fundamentals-general]]
|
||||||
=== General Requirements
|
=== General Requirements
|
||||||
|
|
||||||
|
Any representable floating-point value in the appropriate format is legal as
|
||||||
|
input to a Vulkan command that requires floating-point data.
|
||||||
|
The result of providing a value that is not a floating-point number to such
|
||||||
|
a command is unspecified, but must: not lead to Vulkan interruption or
|
||||||
|
termination.
|
||||||
|
For example, providing a negative zero (where applicable) or a denormalized
|
||||||
|
number to an Vulkan command must: yield deterministic results, while
|
||||||
|
providing a [eq]#NaN# or [eq]#Inf# yields unspecified results.
|
||||||
|
|
||||||
Some calculations require division.
|
Some calculations require division.
|
||||||
In such cases (including implied divisions performed by vector
|
In such cases (including implied divisions performed by vector
|
||||||
normalization), division by zero produces an unspecified result but must:
|
normalization), division by zero produces an unspecified result but must:
|
||||||
|
@ -454,7 +454,7 @@ include::../api/structs/VkPipelineSampleLocationsStateCreateInfoEXT.txt[]
|
|||||||
are ignored.
|
are ignored.
|
||||||
* pname:sampleLocationsInfo is the sample locations to use during
|
* pname:sampleLocationsInfo is the sample locations to use during
|
||||||
rasterization if pname:sampleLocationsEnable is ename:VK_TRUE and the
|
rasterization if pname:sampleLocationsEnable is ename:VK_TRUE and the
|
||||||
graphics pipeline isn't created with
|
graphics pipeline is not created with
|
||||||
ename:VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT.
|
ename:VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT.
|
||||||
|
|
||||||
include::../validity/structs/VkPipelineSampleLocationsStateCreateInfoEXT.txt[]
|
include::../validity/structs/VkPipelineSampleLocationsStateCreateInfoEXT.txt[]
|
||||||
|
@ -254,7 +254,7 @@ used, and current command buffer state when the command was recorded.
|
|||||||
<<copies,copy commands>>, <<clears,clear commands>>, and <<synchronization,
|
<<copies,copy commands>>, <<clears,clear commands>>, and <<synchronization,
|
||||||
synchronization commands>> all execute in different sets of
|
synchronization commands>> all execute in different sets of
|
||||||
<<synchronization-pipeline-stages-types,pipeline stages>>.
|
<<synchronization-pipeline-stages-types,pipeline stages>>.
|
||||||
<<synchronization, Synchronization commands>> don't execute in a defined
|
<<synchronization, Synchronization commands>> do not execute in a defined
|
||||||
pipeline, but do execute ename:VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT and
|
pipeline, but do execute ename:VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT and
|
||||||
ename:VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT.
|
ename:VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT.
|
||||||
|
|
||||||
@ -1855,7 +1855,7 @@ provided.
|
|||||||
This special behavior for importing an invalid sync file descriptor allows
|
This special behavior for importing an invalid sync file descriptor allows
|
||||||
easier interoperability with other system APIs which use the convention that
|
easier interoperability with other system APIs which use the convention that
|
||||||
an invalid sync file descriptor represents work that has already completed
|
an invalid sync file descriptor represents work that has already completed
|
||||||
and doesn't need to be waited for.
|
and does not need to be waited for.
|
||||||
It is consistent with the option for implementations to return a `-1` file
|
It is consistent with the option for implementations to return a `-1` file
|
||||||
descriptor when exporting a ename:VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
|
descriptor when exporting a ename:VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
|
||||||
from a sname:VkFence which is signaled.
|
from a sname:VkFence which is signaled.
|
||||||
|
@ -1279,9 +1279,13 @@ Any unused components are ignored.
|
|||||||
|
|
||||||
Each component is converted based on its type and size (as defined in the
|
Each component is converted based on its type and size (as defined in the
|
||||||
<<features-formats-definition,Format Definition>> section for each
|
<<features-formats-definition,Format Definition>> section for each
|
||||||
elink:VkFormat), using the appropriate equations in
|
elink:VkFormat).
|
||||||
<<fundamentals-fp16,16-Bit Floating-Point Numbers>> and
|
Floating-point outputs are converted as described in
|
||||||
|
<<fundamentals-fp-conversion,Floating-Point Format Conversions>> and
|
||||||
<<fundamentals-fixedconv,Fixed-Point Data Conversion>>.
|
<<fundamentals-fixedconv,Fixed-Point Data Conversion>>.
|
||||||
|
Integer outputs are converted such that their value is preserved.
|
||||||
|
The converted value of any integer that cannot be represented in the target
|
||||||
|
format is undefined.
|
||||||
|
|
||||||
|
|
||||||
== Derivative Operations
|
== Derivative Operations
|
||||||
|
@ -156,7 +156,7 @@
|
|||||||
id="tspan2797-02"
|
id="tspan2797-02"
|
||||||
x="134.9375"
|
x="134.9375"
|
||||||
y="32.416672"
|
y="32.416672"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.52916664">Edge 0</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.52916664">Edge 3</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.52916664"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.52916664"
|
||||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@ -43,7 +43,7 @@ extern "C" {
|
|||||||
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
|
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
|
||||||
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
|
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
|
||||||
// Version of this file
|
// Version of this file
|
||||||
#define VK_HEADER_VERSION 78
|
#define VK_HEADER_VERSION 79
|
||||||
|
|
||||||
|
|
||||||
#define VK_NULL_HANDLE 0
|
#define VK_NULL_HANDLE 0
|
||||||
@ -1214,6 +1214,16 @@ typedef enum VkObjectType {
|
|||||||
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
|
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||||
} VkObjectType;
|
} VkObjectType;
|
||||||
|
|
||||||
|
typedef enum VkVendorId {
|
||||||
|
VK_VENDOR_ID_VIV = 0x10001,
|
||||||
|
VK_VENDOR_ID_VSI = 0x10002,
|
||||||
|
VK_VENDOR_ID_KAZAN = 0x10003,
|
||||||
|
VK_VENDOR_ID_BEGIN_RANGE = VK_VENDOR_ID_VIV,
|
||||||
|
VK_VENDOR_ID_END_RANGE = VK_VENDOR_ID_KAZAN,
|
||||||
|
VK_VENDOR_ID_RANGE_SIZE = (VK_VENDOR_ID_KAZAN - VK_VENDOR_ID_VIV + 1),
|
||||||
|
VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} VkVendorId;
|
||||||
|
|
||||||
typedef VkFlags VkInstanceCreateFlags;
|
typedef VkFlags VkInstanceCreateFlags;
|
||||||
|
|
||||||
typedef enum VkFormatFeatureFlagBits {
|
typedef enum VkFormatFeatureFlagBits {
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
# The value to start tagging VU statements at, unless overridden by -nextvu
|
# The value to start tagging VU statements at, unless overridden by -nextvu
|
||||||
startVUID = 1976
|
startVUID = 1977
|
||||||
|
38
registry.txt
38
registry.txt
@ -232,9 +232,6 @@ Zero or more of each of the following tags, normally in this order
|
|||||||
|
|
||||||
* tag:comment - Contains arbitrary text, such as a copyright
|
* tag:comment - Contains arbitrary text, such as a copyright
|
||||||
statement.
|
statement.
|
||||||
* <<tag-vendorids,tag:vendorids>> - defines Khronos vendor IDs,
|
|
||||||
described in detail in the "`Layers and Extensions`" appendix of the
|
|
||||||
Vulkan Specification.
|
|
||||||
* <<tag-platforms,tag:platforms>> - defines platform names corresponding
|
* <<tag-platforms,tag:platforms>> - defines platform names corresponding
|
||||||
to platform-specific <<tag-extension,API extensions>>.
|
to platform-specific <<tag-extension,API extensions>>.
|
||||||
* <<tag-tags,tag:tags>> - defines author IDs used for
|
* <<tag-tags,tag:tags>> - defines author IDs used for
|
||||||
@ -267,40 +264,6 @@ Comment tags are removed by output generators if they would otherwise appear
|
|||||||
in generated headers, asciidoc include files, etc.
|
in generated headers, asciidoc include files, etc.
|
||||||
|
|
||||||
|
|
||||||
[[tag-vendorids]]
|
|
||||||
= Vendor ID Blocks (tag:vendorids tag)
|
|
||||||
|
|
||||||
A tag:vendorids tag contains descriptions of vendor IDs for physical devices
|
|
||||||
which do not have PCI vendor IDs.
|
|
||||||
|
|
||||||
== Attributes of tag:vendorids tags
|
|
||||||
|
|
||||||
* attr:comment - optional. Arbitrary string (unused).
|
|
||||||
|
|
||||||
== Contents of tag:vendorids tags
|
|
||||||
|
|
||||||
Zero or more tag:vendorid tags, in arbitrary order (though they are
|
|
||||||
typically ordered by sorting on the author ID).
|
|
||||||
|
|
||||||
|
|
||||||
[[tag-vendorid]]
|
|
||||||
= Vendor IDs (tag:vendorid tag)
|
|
||||||
|
|
||||||
A tag:vendorid tag describes a single vendor ID.
|
|
||||||
|
|
||||||
== Attributes of tag:vendorid tags
|
|
||||||
|
|
||||||
* attr:name - required.
|
|
||||||
The author ID, as registered with Khronos.
|
|
||||||
This must match an author ID in the attr:name field of a tag:tag tag.
|
|
||||||
* attr:id - required. The reserved vendor ID, as a hexadecimal number.
|
|
||||||
* attr:comment - optional. Arbitrary string (unused).
|
|
||||||
|
|
||||||
== Contents of tag:vendorid tags
|
|
||||||
|
|
||||||
No contents are allowed. All information is contained in the attributes.
|
|
||||||
|
|
||||||
|
|
||||||
[[tag-platforms]]
|
[[tag-platforms]]
|
||||||
= Platform Name Blocks (tag:platforms tag)
|
= Platform Name Blocks (tag:platforms tag)
|
||||||
|
|
||||||
@ -2030,6 +1993,7 @@ files and Python scripts are logged in Github history.
|
|||||||
[[changelog]]
|
[[changelog]]
|
||||||
= Change Log
|
= Change Log
|
||||||
|
|
||||||
|
* 2018-06-25 - Remove attr:vendorids tags for Khronos vendor IDs.
|
||||||
* 2018-04-15 - Add attr:requiresCore.
|
* 2018-04-15 - Add attr:requiresCore.
|
||||||
* 2018-03-07 - Updated for Vulkan 1.1 release.
|
* 2018-03-07 - Updated for Vulkan 1.1 release.
|
||||||
* 2018-02-21 - Add descriptions of the attr:extnumber and attr:alias
|
* 2018-02-21 - Add descriptions of the attr:extnumber and attr:alias
|
||||||
|
@ -272,16 +272,17 @@ implementations must obtain a Khronos vendor ID.
|
|||||||
Khronos vendor IDs are reserved in a similar fashion to
|
Khronos vendor IDs are reserved in a similar fashion to
|
||||||
<<extensions-author-ID,author IDs>>.
|
<<extensions-author-ID,author IDs>>.
|
||||||
While vendor IDs are not directly related to API extensions, the reservation
|
While vendor IDs are not directly related to API extensions, the reservation
|
||||||
process is very similar and so is described in this section.
|
process is similar, and so is described in this section.
|
||||||
|
|
||||||
To reserve an Khronos vendor ID, you must first have a Khronos author ID.
|
To reserve an Khronos vendor ID, you must first have a Khronos author ID.
|
||||||
Propose a merge request against <<extensions-api-registry,`vk.xml`>> in the
|
Propose a merge request against <<extensions-api-registry,`vk.xml`>> in the
|
||||||
`master` branch.
|
`master` branch.
|
||||||
The merge must add a `<vendorid>` tag and fill in the `name` and `id`
|
The merge must define a new enumerant by adding an `<enum>` tag to the
|
||||||
attributes.
|
`VkVendorId` `<enums>` tag, following the existing examples.
|
||||||
The `name` attribute must be set to the author ID.
|
The `value` attribute of the `<enum>` must be the next available unused
|
||||||
The `id` attribute must be the first sequentially available ID in the list
|
value, and is the reserved vendor ID.
|
||||||
of `<vendorid>` tags.
|
The `name` attribute must be `VK_VENDOR_ID_<author>`, where `<author>` is
|
||||||
|
the author tag.
|
||||||
The vendor ID will be reserved only once this merge request has been
|
The vendor ID will be reserved only once this merge request has been
|
||||||
accepted.
|
accepted.
|
||||||
|
|
||||||
|
@ -150,6 +150,9 @@ include::style/vuid.txt[]
|
|||||||
|
|
||||||
= Revision History
|
= Revision History
|
||||||
|
|
||||||
|
* 2018-06-25 - Modify the process for <<extensions-vendor-id, Registering a
|
||||||
|
Vendor ID with Khronos>> to define vendor ID values as part of an
|
||||||
|
enumerated type.
|
||||||
* 2018-03-07 - Updated for Vulkan 1.1 release.
|
* 2018-03-07 - Updated for Vulkan 1.1 release.
|
||||||
* 2018-01-10 - Move details of mandated extension compatibility from the
|
* 2018-01-10 - Move details of mandated extension compatibility from the
|
||||||
<<extensions-rules, General Rules/Guidelines>> section into the
|
<<extensions-rules, General Rules/Guidelines>> section into the
|
||||||
|
@ -25,7 +25,6 @@ namespace xsd = "http://www.w3.org/2001/XMLSchema-datatypes"
|
|||||||
start = element registry {
|
start = element registry {
|
||||||
(
|
(
|
||||||
element comment { text } ? |
|
element comment { text } ? |
|
||||||
Vendorids * |
|
|
||||||
Platforms * |
|
Platforms * |
|
||||||
Tags * |
|
Tags * |
|
||||||
Types * |
|
Types * |
|
||||||
@ -36,22 +35,6 @@ start = element registry {
|
|||||||
) *
|
) *
|
||||||
}
|
}
|
||||||
|
|
||||||
# <vendorids> defines a group of vendor IDs
|
|
||||||
Vendorids = element vendorids {
|
|
||||||
Comment ? ,
|
|
||||||
Vendorid *
|
|
||||||
}
|
|
||||||
|
|
||||||
# <vendorid> defines a single vendor ID.
|
|
||||||
# name - author ID of the vendor
|
|
||||||
# id - Khronos vendor ID (hexadecimal constant starting at 0x10000)
|
|
||||||
# comment - unused
|
|
||||||
Vendorid = element vendorid {
|
|
||||||
attribute name { text } ,
|
|
||||||
attribute id { text } ,
|
|
||||||
Comment ?
|
|
||||||
}
|
|
||||||
|
|
||||||
# <platforms> defines a group of platform names
|
# <platforms> defines a group of platform names
|
||||||
Platforms = element platforms {
|
Platforms = element platforms {
|
||||||
Comment ? ,
|
Comment ? ,
|
||||||
@ -276,6 +259,7 @@ Unused = element unused {
|
|||||||
Vendor ? ,
|
Vendor ? ,
|
||||||
Comment ?
|
Comment ?
|
||||||
}
|
}
|
||||||
|
|
||||||
# <commands> defines a group of commands
|
# <commands> defines a group of commands
|
||||||
Commands = element commands {
|
Commands = element commands {
|
||||||
Comment ? ,
|
Comment ? ,
|
||||||
|
@ -445,7 +445,8 @@ class ValidityOutputGenerator(OutputGenerator):
|
|||||||
asciidoc += '\n'
|
asciidoc += '\n'
|
||||||
|
|
||||||
# Add additional line for non-optional bitmasks
|
# Add additional line for non-optional bitmasks
|
||||||
if self.getTypeCategory(paramtype.text) == 'bitmask':
|
isOutputParam = self.paramIsPointer(param) and not (param.text is not None and 'const' in param.text)
|
||||||
|
if self.getTypeCategory(paramtype.text) == 'bitmask' and not isOutputParam:
|
||||||
isMandatory = param.attrib.get('optional') is None #TODO does not really handle if someone tries something like optional="true,false"
|
isMandatory = param.attrib.get('optional') is None #TODO does not really handle if someone tries something like optional="true,false"
|
||||||
if isMandatory:
|
if isMandatory:
|
||||||
asciidoc += self.makeAnchor(blockname, paramname.text, 'requiredbitmask')
|
asciidoc += self.makeAnchor(blockname, paramname.text, 'requiredbitmask')
|
||||||
|
28
xml/vk.xml
28
xml/vk.xml
@ -44,13 +44,6 @@ private version is maintained in the master branch of the member gitlab
|
|||||||
server.
|
server.
|
||||||
</comment>
|
</comment>
|
||||||
|
|
||||||
<vendorids comment="Vulkan vendor IDs for physical devices without PCI vendor IDs">
|
|
||||||
<vendorid name="KHR" id="0x10000" comment="This is the next available Khronos vendor ID"/>
|
|
||||||
<vendorid name="VIV" id="0x10001" comment="Vivante vendor ID"/>
|
|
||||||
<vendorid name="VSI" id="0x10002" comment="VeriSilicon vendor ID"/>
|
|
||||||
<vendorid name="KAZAN" id="0x10003" comment="Kazan Software Renderer"/>
|
|
||||||
</vendorids>
|
|
||||||
|
|
||||||
<platforms comment="Vulkan platform names, reserved for use with platform- and window system-specific extensions">
|
<platforms comment="Vulkan platform names, reserved for use with platform- and window system-specific extensions">
|
||||||
<platform name="xlib" protect="VK_USE_PLATFORM_XLIB_KHR" comment="X Window System, Xlib client library"/>
|
<platform name="xlib" protect="VK_USE_PLATFORM_XLIB_KHR" comment="X Window System, Xlib client library"/>
|
||||||
<platform name="xlib_xrandr" protect="VK_USE_PLATFORM_XLIB_XRANDR_EXT" comment="X Window System, Xlib client library, XRandR extension"/>
|
<platform name="xlib_xrandr" protect="VK_USE_PLATFORM_XLIB_XRANDR_EXT" comment="X Window System, Xlib client library, XRandR extension"/>
|
||||||
@ -153,7 +146,7 @@ server.
|
|||||||
<type category="define">// Vulkan 1.1 version number
|
<type category="define">// Vulkan 1.1 version number
|
||||||
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
|
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
|
||||||
<type category="define">// Version of this file
|
<type category="define">// Version of this file
|
||||||
#define <name>VK_HEADER_VERSION</name> 78</type>
|
#define <name>VK_HEADER_VERSION</name> 79</type>
|
||||||
|
|
||||||
<type category="define">
|
<type category="define">
|
||||||
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
|
||||||
@ -515,6 +508,9 @@ server.
|
|||||||
<type name="VkDebugUtilsMessageSeverityFlagBitsEXT" category="enum"/>
|
<type name="VkDebugUtilsMessageSeverityFlagBitsEXT" category="enum"/>
|
||||||
<type name="VkDebugUtilsMessageTypeFlagBitsEXT" category="enum"/>
|
<type name="VkDebugUtilsMessageTypeFlagBitsEXT" category="enum"/>
|
||||||
|
|
||||||
|
<comment>Enumerated types in the header, but not used by the API</comment>
|
||||||
|
<type name="VkVendorId" category="enum"/>
|
||||||
|
|
||||||
<comment>The PFN_vk*Function types are used by VkAllocationCallbacks below</comment>
|
<comment>The PFN_vk*Function types are used by VkAllocationCallbacks below</comment>
|
||||||
<type category="funcpointer">typedef void (VKAPI_PTR *<name>PFN_vkInternalAllocationNotification</name>)(
|
<type category="funcpointer">typedef void (VKAPI_PTR *<name>PFN_vkInternalAllocationNotification</name>)(
|
||||||
<type>void</type>* pUserData,
|
<type>void</type>* pUserData,
|
||||||
@ -4179,6 +4175,15 @@ server.
|
|||||||
<enum bitpos="2" name="VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"/>
|
<enum bitpos="2" name="VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"/>
|
||||||
<enum bitpos="3" name="VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"/>
|
<enum bitpos="3" name="VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"/>
|
||||||
</enums>
|
</enums>
|
||||||
|
<enums name="VkVendorId" type="enum">
|
||||||
|
<comment>Vendor IDs are now represented as enums instead of the old
|
||||||
|
<vendorids> tag, allowing them to be included in the
|
||||||
|
API headers.</comment>
|
||||||
|
<enum value="0x10001" name="VK_VENDOR_ID_VIV" comment="Vivante vendor ID"/>
|
||||||
|
<enum value="0x10002" name="VK_VENDOR_ID_VSI" comment="VeriSilicon vendor ID"/>
|
||||||
|
<enum value="0x10003" name="VK_VENDOR_ID_KAZAN" comment="Kazan Software Renderer"/>
|
||||||
|
<unused start="0x10004" comment="This is the next unused available Khronos vendor ID"/>
|
||||||
|
</enums>
|
||||||
|
|
||||||
<commands comment="Vulkan command definitions">
|
<commands comment="Vulkan command definitions">
|
||||||
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_LAYER_NOT_PRESENT,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INCOMPATIBLE_DRIVER">
|
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_LAYER_NOT_PRESENT,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INCOMPATIBLE_DRIVER">
|
||||||
@ -6328,6 +6333,7 @@ server.
|
|||||||
<type name="VkObjectType"/>
|
<type name="VkObjectType"/>
|
||||||
<type name="VkBaseOutStructure"/>
|
<type name="VkBaseOutStructure"/>
|
||||||
<type name="VkBaseInStructure"/>
|
<type name="VkBaseInStructure"/>
|
||||||
|
<type name="VkVendorId"/>
|
||||||
</require>
|
</require>
|
||||||
</feature>
|
</feature>
|
||||||
<feature api="vulkan" name="VK_VERSION_1_1" number="1.1" comment="Vulkan 1.1 core API interface definitions.">
|
<feature api="vulkan" name="VK_VERSION_1_1" number="1.1" comment="Vulkan 1.1 core API interface definitions.">
|
||||||
@ -8826,5 +8832,11 @@ server.
|
|||||||
<enum value=""VK_KHR_extension_211"" name="VK_KHR_EXTENSION_211_EXTENSION_NAME"/>
|
<enum value=""VK_KHR_extension_211"" name="VK_KHR_EXTENSION_211_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension name="VK_KHR_extension_212" number="212" type="device" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="0" name="VK_KHR_EXTENSION_212_SPEC_VERSION"/>
|
||||||
|
<enum value=""VK_KHR_extension_212"" name="VK_KHR_EXTENSION_212_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
</extensions>
|
</extensions>
|
||||||
</registry>
|
</registry>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user