* Update release number to 82.
Public Issues:
* Add flink:vkDestroyPipelineLayout valid usage statement that the layout
must not have been used with command buffers still in the recording
state (public issue 730).
* Correct \<unused> tag for elink:VkResult in `vk.xml` (public merge
request 746).
Internal Issues:
* Add a valid usage statement to flink:vkQueueSubmit, and similar language
to the definitions of <<synchronization-queue-transfers-acquire, acquire
operations>> requiring that an acquire operation follow a previous
release of the same subresource (internal issue 1290).
* Add <<resources-image-format-features,Image Format Features>> and
<<resources-image-view-format-features,Image View Format Features>>
sections that precisely define the slink:VkFormatFeatures supported by
images and image views, and rewrite valid usage statements to reference
these sections instead of duplicating language (internal issue 1310).
* Reword and consolidate synchronization valid usage statements for
flink:vkCmdPipelineBarrier such that they correctly account for mutiple
possible self-dependencies (internal issue 1322).
* Change order of <<Standard sample locations>> for 2xMSAA (internal issue
1347).
* Add definitions of "`<<Correctly Rounded>>`" and "`<<ULP>>`" in the
SPIR-V environment appendix, and "`Units in the Last Place (ULP)`" in
the glossary.
New Extensions:
* `VK_NV_device_diagnostic_checkpoints`
* Update release number to 81.
Public Issues:
* Fix missing "`valid`" phrasing in some obscure cases (public pull
request 605).
* Replace improper use of cannot: referring to the implementation in the
description of the
<<features-limits-maxUpdateAfterBindDescriptorsInAllPools,
pname:maxUpdateAfterBindDescriptorsInAllPools>> limit (public pull
request 738).
* Reorder description of bits in elink:VkPipelineStageFlagBits and the
<<synchronization-pipeline-stages-supported, Supported pipeline stage
flags>> table to match their definition order (public pull request 740).
* Add description of ename:VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
to elink:VkBufferUsageFlagBits (public pull request 741).
* Fix value usage statement for slink:VkSubpassDependency stage mask
parameters (public pull request 742).
* Fix visible markup in registry schema document (public pull request
#745).
Internal Issues:
* Make the <<geometry-invocations, geometry shader invocation
description>> and <<shaders-geometry-execution, Geometry Shader
Execution>> descriptions consistent with other pipeline stages (internal
issue 1325).
* Mark the `VK_NV_glsl_shader` extension as deprecated.
* Adjust the per-instance vertex attribute offset formula specified by
`VK_EXT_vertex_attribute_divisor` for
slink:VkVertexInputBindingDivisorDescriptionEXT so that the interaction
between pname:firstInstance and pname:divisor matches the OpenGL
convention (internal issue 1333).
- update script to detect better structs that do not need "valid"
- update vk.xml and schema to say `noautovalidity` as a hint to the
script
- fix missing const in VkValidationFlagsEXT
- update some cases that were probably avoiding the bug
* Update release number to 80.
Public Issues:
* Remove unused "`API Order`" term from glossary (public issue 657).
* Dynamically generate the extension appendix includes based on
information in `vk.xml`, including new metadata tags describing
deprecated, obsoleted, and promoted extensions (public pull request
690).
Internal Issues:
* Add valid usage statements to flink:vkCmdBindDescriptorSets to keep
offsets + range less than or equal to the buffer size (internal issue
1174).
New Extensions:
* `VK_EXT_conditional_render`
* `VK_KHR_create_renderpass2` (public issue 736)
* `VK_KHR_8bit_storage` (public issue 737)
* 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.
Provides a 12.6% size savings for vkspec.html
(697770 B -> 609679 B, gzipped), because:
(1) plaintext is smaller than base64-encoded plaintext, and
(2) base64 does not gzip as well as plaintext SVG.
- hide from toc
- split into "current" extensions, and extensions that have been since
deprecated by a better alternative
- make core promotion list generated
- add information to extension appendix about possible better
alternatives
- split contacts to separate lines
- some general-purpose quality improvements to the script
* 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).
* 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.
* 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`
* 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.
There's a paragraph under VkImageSubresourceRange description that
contains this restriction but no VU under the vkUpdateDescriptors()
section. Adding the VU for clarity as the existing paragraph is easy
to miss.