* Update release number to 107.
Public Issues:
* Fix revision date for the `<<VK_AMD_gpu_shader_half_float>>` appendix
(public issue 617).
* Make <<synchronization-pipeline-barriers-subpass-self-dependencies,
subpass self-dependencies>> less restrictive (public issue 777).
* Fix the `<<VK_EXT_full_screen_exclusive>>` dependency on
`<<VK_KHR_win32_surface>>` in `vk.xml` (public pull request 849).
* Remove single-page (`apispec.html`) refpage sub-targets from the
Makefile `allman` target and the build instructions. The target is still
present in the Makefile, but we have not been actively maintaining the
single-page document and do not promise it will work. The full
Specification and the individual API reference pages are what we support
and publish at present (public issue 949).
Internal Issues:
* De-duplicate common valid usage statements shared by multiple commands
or structures by using asciidoctor includes and dynamically assigning
part of the valid usage ID based on which command or structure they're
being applied to (internal issue 779).
* Add reference pages for constructs not part of the formal API, such as
platform calling convention macros, and script changes supporting them
This required suppressing some check_spec_links warning classes in order
to pass CI, until a more sophisticated fix can be done (internal issue
888).
* Change math notation for the elink:VkPrimitiveTopology descriptions to
use short forms `v` and `p` instead of `vertex` and `primitive`,
increasing legibility (internal issue 1611).
* Rewrite generated file includes relative to a globally specified path,
fixing some issues with refpage generation (internal issue 1630).
* Update contributor list for `<<VK_EXT_calibrated_timestamps>>`.
* Fix use of pathlin in `scripts/generator.py` so the script will work on
Windows under Python 3.5 (internal merge request 3107).
* Add missing conditionals around the
<<descriptorsets-accelerationstructure, Acceleration Structure>>
section (internal merge request 3108).
* More script synchronization with OpenXR spec repository (internal merge
request 3109).
* Mark the `<<VK_AMD_gpu_shader_half_float>>` and
`<<VK_AMD_gpu_shader_int16>>` extensions as deprecated in `vk.xml` and
the corresponding extension appendices (internal merge request 3112).
New Extensions:
* `<<VK_EXT_headless_surface>>`
* Update release number to 104.
Public Issues:
* Remove the incorrect line from "`Initial`" to "`Invalid`" state in the
<<commandbuffer-lifecycle-diagram, Lifecycle of a command buffer>>
diagram (public issue 881).
* Add Fuchsia platform to <<boilerplate-wsi-header-table, Window System
Extensions and Headers>> table (public pull request 933).
* Change the type of
slink:VkBufferDeviceAddressCreateInfoEXT::pname:deviceAddress from
basetype:VkDeviceSize to basetype:VkDeviceAddress. These are both
typedefs of code:uint64_t, so it is an ABI-compatible change (public
issue 934).
Internal Issues:
* Remove generated header files and update the CI tests to build a copy of
the headers for use by the hpp-generate / hpp-compile CI stages. Targets
to generate the headers will not be removed, but keeping these generated
files in the repository increased the frequency of conflicts between
branches when merging to master (internal issue 745).
* Reword "`undefined: behavior if *action*" to "`must: not do *action*`"
in the places the old terminology was used, and add a new
<<writing-undefined, Describing Undefined Behavior>> section of the
style guide to explain how to write such language in the future
(internal issue 1579).
* Move almost all Python scripts into the toplevel `scripts/` directory.
Apply extensive internal edits to clean up and simplify the scripts, and
try to follow PEP8 guidelines. Generalize the scripts with the use of a
Conventions object controlling many aspects of output generation, to
enable their use in other Khronos projects with similar requirements.
Autogenerate extension interface refpages (these are experimental and
may be retired going forward).
New Extensions:
* `VK_AMD_display_native_hdr`
* `VK_EXT_full_screen_exclusive` (internal issue 1439)
* `VK_EXT_host_query_reset`
* `VK_EXT_pipeline_creation_feedback` (internal issue 1560)
* `VK_KHR_surface_protected_capabilities` (internal issue 1520)
* Update release number to 102.
Public Issues:
* Simplify flink:vkGetImageMemoryRequirements constraint for
ename:VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT (public pull request 817).
* Fix typo in markup of the <<textures-texel-coordinate-systems-diagrams,
Texel Coordinate Systems, Corner Sampling>> image that was generating
complaints from chunked HTML output generation (public pull request
928).
Internal Issues:
* Split the old <<features, Features>> chapter into four chapters:
<<features, Features>>, <<limits, Limits>>, <<formats, Formats>>, and
<<capabilities, Capabilities>>, with minor edits to the introductory
paragraph of each chapter. Anchor names in these chapters were changed,
with corresponding effects to xrefs to these anchors elsewhere in spec
markup . The purpose is to make the chunked HTML spec output load faster
on what was previously a single, gigantic chapter (internal issue 1554).
* Add ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV, to the supported
pipeline stages for ename:VK_ACCESS_UNIFORM_READ,
ename:VK_ACCESS_SHADER_READ, and ename:VK_ACCESS_SHADER_WRITE in the
<<synchronization-access-types-supported>> table.
* Correct legal name of Google, LLC in vk.xml \<tags> section and a
copyright statement.
* Clarify that Vulkan treats the Android
code:AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM format as RGBA, and the
application is responsible for forcing the X/A component to be read as
1.0, in the <<memory-external-android-hardware-buffer-formats>> table.
* Clarify the vertex order of various primitive topologies, and define the
order of transform feedback vertex capture based on that. This involves
a lot of refactoring and cleanup in the <<drawing-primitive-topologies,
Primitive Topologies>>, <<geometry-input, Geometry Shader Input
Primitives>> sections, and <<vertexpostproc-transform-feedback Transform
Feedback>> sections, and numerous places in the <<tessellation>>
chapter,
New Extensions:
* `VK_EXT_metal_surface`
* `VK_EXT_ycbcr_image_arrays` (internal issue 1361).
* `VK_NVX_image_view_handle`
* Update release number to 101.
Public Issues:
* Make clear that memory types for imported host memory must be host
visible in slink:VkMemoryHostPointerPropertiesEXT.txt (public issue
897).
* Make <<interfaces-resources-layout, WARNING block>> into a NOTE block,
per the styleguide (public pull request 916).
Internal Issues:
* Make <<textures-output-format-conversion, computation of derivatives in
non-uniform flow control>> have undefined behavior (internal issue
1367).
* Make behavior, not just values, undefined for
<<textures-layout-validation, reads from inconsistent YCbCr layouts>>
(internal issue 1366).
* Consolidate version and extension behavior documentation in the
<<extended-functionality, Extended Functionality>> appendix, While a
great deal of text was moved from other parts of the Specification into
the appendix, this just serves to simplify and make consistent
discussions of versions and extensions (internal issue 1473).
* Add limits for slink:VkPhysicalDeviceRayTracingPropertiesNV in the
<<features-limits-types, Required Limit Types>> and
<<features-limits-required, Required Limits>> tables (internal issue
1511).
* Disallow <<memory-protected-memory, indirect calls within protected
command buffers>> by adding valid usage statements for the related
indirect dispatch and draw commands (internal issue 1513).
* Add valid usage stataements to slink:VkGraphicsPipelineCreateInfo,
slink:VkSubpassDescription, slink:VkSubpassDescription2KHR,
slink:VkSubpassDescriptionDepthStencilResolveKHR, and
slink:VkImageViewCreateInfo preventing the creation of a renderpass with
attachments in formats that are not supported for rendering (internal
issue 1552).
* Qualify valid usage statements for
slink:VkAttachmentReference::pname:layout parameter so restrictions only
apply if an attachment is ename:VK_ATTACHMENT_UNUSED (internal issue
1561).
* Add valid usage statement for flink:vkCmdDrawIndirectByteCountEXT
restricting pname:vertexStride to be positive (internal issue 1566).
* Make the `VK_EXT_sample_locations` extension depend on
`VK_KHR_get_physical_device_properties2` in `vk.xml`.
* Rearrange and simplify the <<interfaces-resources-layout, block layout
rules>>.
New Extensions:
* `VK_NV_cooperative_matrix`
* `VK_EXT_depth_clip_enable` (internal issue 1485).
* Update release number to 97.
Public Issues:
* Add a special case to the <<renderpass-compatibility, Render Pass
Compatibility>> rules allowing single-subpass renderpasses to be
compatible even if they have different resolve attachment references
(public issue 835).
* Fix the miss shader binding table record address rule in the
<<shader-binding-table-indexing-rules, Miss Shaders>> section to index
by code:missIndex, not code:sbtOffset (public issue 875).
Internal Issues:
* Add a missing anchor to the elink:VkSamplerCreateFlagBits language
(internal issue 1483).
* Add missing implicit valid usage include for slink:VkHdrMetadataEXT and
corresponding `noautovalidity` attributes in `vk.xml` for the
externally-defined metadata properties (internal issue 1514).
* Remove restrictions on the `mask` parameter of SPIR-V's
code:OpGroupNonUniformXor in the <<spirvenv-module-validation,
Validation Rules within a Module>> appendix (internal merge request
2971).
* Restore `noautovalidity` attribute for
slink:VkPipelineViewportWScalingStateCreateInfoNV::pname:pViewportWScalings
in `vk.xml` (internal merge request 2975).
* Update copyright dates on Khronos-copyrighted files to 2019 (internal
merge request 2980).
New Extensions:
* `VK_KHR_depth_stencil_resolve`
* `VK_EXT_buffer_device_address`
* `VK_EXT_memory_budget`
* `VK_EXT_memory_priority`
* `VK_EXT_validation_features`
* Update release number to 93.
Public Issues:
* Add spec language for ename:VK_INDEX_TYPE_NONE_NV and fix up
slink:VkAccelerationStructureTypeNV (public issue 848).
* Add missing suffix in description of slink:VkSubpassDescription2KHR
parameters (public pull request 851).
* Fix miscellaneous typos (public pull request 855).
* Add driver ID for Pastel (public pull request 856).
* Add missing include directive for slink:VkMemoryWin32HandlePropertiesKHR
implicit valid usage statements (public pull request 857).
Internal Issues:
* Restrict the storage classes permitted for SPIR-V atomics to what is
actually supported, in the <<spirvenv-module-validation, Validation
Rules within a Module>> section (internal issue 1123).
* Add a missing Valid Usage statement to slink:VkRenderPassCreateInfo for
the case pname:stencilLoadOp == ename:VK_LOAD_OP_CLEAR, pname:layout ==
ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL (internal issue
1408).
* Modify optimize-pdf script and Makefile to retain non-optimized original
PDF on errors (internal issue 1435).
* Add <<spirvenv-module-validation, SPIR-V validation rules>> stating that
only the listed code:BuiltIn decorations are permitted, and only when
relevante features and extensions are enabled (internal issue 1449).
* Remove some duplicated Valid Usage IDs created via cut & paste error
(internal issue 1455).
* Build HTML output for extension reference pages (internal issue 1461).
** Improve genRef.py handling of aliases defined inside other refpages.
** Emit aliases in pygenerator.py.
** Add XML noautovalidity flag for VkRenderPassCreateFlags until there
are some corresponding FlagBits defined.
** Corrected types= attribute on some refpage blocks to 'flags'
** Added refpage blocks for some missing types detected by CI tests.
* Fixed many Valid Usage statement issues in slink:VkRenderPassCreateInfo,
slink:VkSubpassDescription, slink:VkSubpassDescription2KHR,
slink:VkSubpassDependency2KHR, flink:vkCmdBeginRenderPass,
flink:vkCmdBeginRenderPass2KHR, and slink:VkRenderPassBeginInfo
discovered while adding `VK_KHR_create_renderpass2` to the validation
layers.
New Extensions:
* `VK_EXT_scalar_block_layout`
* `VK_EXT_separate_stencil_usage`
* Update release number to 92.
Public Issues:
* Move and modify valid usage statements dealing with pname:aspectMask in
flink:vkCmdClearColorImage, flink:vkCmdClearDepthStencilImage, and
slink:VkClearAttachment, so they are in places where all necessary
information is available (public issue 529).
* Fix math markup in <<textures-texel-anisotropic-filtering, Texel
Anisotropic Filtering>> (public pull request 840).
* Fix misspellings (public pull request 845).
Internal Issues:
* Add installation instructions and a Makefile "`chunked`" target for
chunked HTML generation (internal issue 1352).
* Fix pipeline mesh diagram style; also fix a minor bug in the classic
pipeline diagram where vertex/index buffers wrongly fed into the vertex
shader (internal issue 1436).
* Make asciidoctor ERROR output raise an error, and don't suppress
executed command output from CI make invocation (internal issue 1454).
* Minor typo fixes and clarifications for `VK_NV_raytracing`.
* Cleanup extension-specific properties
** Remove duplicated documentation for pname:maxDiscardRectangles,
pname:pointClippingBehavior, and pname:maxVertexAttribDivisor (they
shouldn't be documented with the other members of
slink:VkPhysicalDeviceLimits at all).
** Remove duplicate anchor for pname:maxVertexAttribDivisor
** Consistently document stext:VkPhysicalDevice<Extension>PropertiesKHR
*** Always document pname:sType/pname:pNext (was inconsistent before)
*** Always mention chaining to slink:VkPhysicalDeviceProperties2 (and not
as slink:VkPhysicalDeviceProperties2KHR)
*** Always include Valid Usage statements last
* Update Makefile 'checklinks' target and associated scripts, and fix
markup problems identified by checkLinks.py, so that we can rely on the
checklinks script as part of Gitlab CI.
* Update release number to 89.
Public Issues:
* Clarify the reference to <<features-limits-mipmapPrecisionBits, mipmap
precision bits>> in the <<textures-image-level-selection, Image Level(s)
Selection>> section (public issue 660).
* Update <<debugging-object-types,VkObjectType and Vulkan Handle
Relationship>> table with missing types (public pull request 820).
* Miscellaneous minor markup cleanup (public pull request 822).
* Fix copy/paste bugs in the description of how implicit
availability/visibility operations for atomics/barriers are ordered in
the <<memory-model-availability-visibility-semantics, Availability and
Visibility Semantics>> section (public issue 823).
* Add missing shading_rate_image bit from mesh pipeline list in the
<<synchronization-pipeline-stages-types>> list (public issue 824).
Internal Issues:
* Clarify that only statically used members of a push constant block need
to be in the push constant range, and stop referring to block members as
"`variables`" in the <<interfaces-resources-pushconst, Push Constant
Interface>> section. This is related to
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/340
(internal issue 1401).
* Clarify interaction between flink:vkCmdSetDeviceMask and render pass
control commands in the slink:VkDeviceGroupRenderPassBeginInfo section
(internal issue 1416).
* Miscellaneous minor markup cleanup.
* Remove types defined by `"disabled"` extensions from
validextensionstructs in the XML processing scripts, so downstream code
generators don't emit them.
* Update release number to 88.
Public Issues:
* Make clear that
tname:PFN_vkDebugUtilsMessengerCallbackEXT::pname:messageTypes is a
bitmask, and correct a typo in the spelling of
slink:VkDebugUtilsMessengerCreateInfoEXT.txt::pname:messageType (public
pull request 800).
* Make an ABI-compatible change of the type of
slink:VkPhysicalDeviceDriverPropertiesKHR::pname:driverID to use the new
elink:VkDriverIdKHR type (public issue 811).
Internal Issues:
* Clarify for the <<features-features-shaderStorageImageExtendedFormats>>
feature and in the <<spirvenv-capabilities-table>> that the feature
means that all of the formats are supported, and that otherwise the
features can be queried per-format (internal issue 1273).
* Clarified interactions of `VK_EXT_external_memory_host` with host cache
management commands and structures flink:vkMapMemory,
flink:vkFlushMappedMemoryRanges, slink:VkMappedMemoryRange, and
flink:vkUnmapMemory using the new glossary term "`Host Mapped Device
Memory`" (internal issue 1385).
* Update the language for flink:vkCreateViSurfaceNN.txt describing the
pname:currentExtent of a VI surface to more accurately reflect current
capabilities, replacing "`undefined`" with more explicit behavior
(internal issue 1410).
New Extensions:
* `VK_EXT_calibrated_timestamps`
* `VK_EXT_image_drm_format_modifier` (this extension was previously
disabled in vk.xml, and has now been enabled after some changes to fix
performance issues).
* `VK_EXT_pci_bus_info`
* `VK_EXT_transform_feedback`
* `VK_GOOGLE_hlsl_functionality1`, exposing support for
`SPV_GOOGLE_hlsl_functionality1`.
* `VK_GOOGLE_decorate_string`, exposing support for
`SPV_GOOGLE_decorate_string`.
* Update release number to 87.
Public Issues:
* Merge flink:vkCmdPipelineBarrier self-dependency barrier VUs referring
to the same subpass dependency (public pull request 756).
* Describe default value of `"optional"` attribute in the registry schema
document (public issue 769)
* Fix links in <<VK_NVX_raytracing>> extension (public pull request 805).
* Mark the <<VK_KHR_mir_surface>> extension obsolete (see public issue 814
- does not close this, however).
* Fix missing endif in Image Creation block (public issue 817).
Internal Issues:
* Clarify that the compressed texture formats corresponding to
<<features-features-textureCompressionETC2>>,
<<features-features-textureCompressionASTC_LDR>>, and
<<features-features-textureCompressionBC>> is not contingent on the
feature bits, and may be supported even if the features are not enabled
(internal issue 663).
* Clarify that code:FragStencilRefEXT is output only in the
<<interfaces-builtin-variables, Built-In Variables>> section (internal
issue 1173).
* Identify and correct many overly-aggressive uses of "`undefined`", and
narrow them down, where straightforward to do so. Mark such resolved
uses of "`undefined`" with the custom undefined: macro. Add a new
<<writing-undefined, Describing Undefined Behavior>> section (internal
issue 1267).
* Don't require code:inline_uniform_block descriptors to be populated
before use in the flink:vkAllocateDescriptorSets section (internal issue
1380).
* Allow suppressing inline SVG images by controlling this with an
attribute set in the Makefile, rather than the explicit [%inline]
directive (internal issue 1391).
* Mark 'Khronos' as a registered trademark in several places, now that it
is one.
* Fix typo in the <<VK_KHR_shader_atomic_int64>> appendix using the GLSL
naming of the compare exchange op when referring to the SPIR-V op.
* Specify in the flink:vkGetPhysicalDeviceQueueFamilyProperties section
that all implementations must support at least one queue family, and
that every queue family must contain at least one queue.
* Make slink:VkPipelineDynamicStateCreateInfo::pname:dynamicStateCount,
slink:VkSampleLocationsInfoEXT::pname:sampleLocationsPerPixel, and
slink:VkSampleLocationsInfoEXT::pname:sampleLocationsCount optional, to
fix bogus implicit valid usage checks that were causing failures in the
conformance tests.
* Fix vendor tag in reserved extension 237 constants. Does not affect
anything since it's just a placeholder, but this should avoid further
comments.
* Minor markup fixes in some extension appendices.
New Extensions:
* `<<VK_FUCHSIA_imagepipe_surface>>`
* Update release number to 85.
Public Issues:
* Add self-dependency ename:VK_DEPENDENCY_BY_REGION_BIT valid usage
statements for slink:VkSubpassDependency(public pull request 778).
* Apply fix from pull request 742 to slink:VkSubpassDependency and
slink:VkSubpassDependency2 (public pull request 779).
* Specify the units of slink:VkBufferImageCopy::pname:bufferRowLength and
pname:bufferImageHeight as texels (public pull request 781).
* Better specify promoted parameter mapping in the
`<<VK_KHR_create_renderpass2>>` appendix (public pull request 782).
Internal Issues:
* Only include the <<fundamentals-validusage-versions, Valid Usage for
Newer Core Versions>> section in Vulkan 1.1 or later (internal issue
1381).
Other Issues:
* Clean up redundant valid usage language for the
`VK_ANDROID_external_memory_android_hardware_buffer` extension
interaction with slink:VkImageCreateInfo.
* Fix error in a flag name within valid usage statements for
slink:VkMemoryAllocateInfo.
* Clarify that memory types are not totally ordered in
slink:VkPhysicalDeviceMemoryProperties.
* For slink:VkWriteDescriptorSetInlineUniformBlockEXT, set
structextends="VkWriteDescriptorSet" in `vk.xml`, and make
slink:VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::pname:pBindingFlags
optional.
* Add documentation of 'provisional' XML attribute to registry.txt.
New Extensions:
* `VK_NV_compute_shader_derivatives`
* `VK_NV_corner_sampled_image`
* `VK_NV_fragment_shader_barycentric`
* `VK_NV_mesh_shader`
* `VK_NV_representative_fragment_test`
* `VK_NV_scissor_exclusive`
* `VK_NV_shader_image_footprint`
* `VK_NV_shading_rate_image`
* `VK_NVX_raytracing`
* Update release number to 84.
Public Issues:
* Fix code sample in the `<<VK_EXT_debug_utils>>` extension (public issue
751).
* Fix misleading comment in `vk.xml` for
slink:VkDescriptorBufferInfo::pname:buffer (public pull request 762).
* Fix formatting of deprecation attributes in schema doc (public pull
request 767).
* Change `can` to `may` in the description of
elink:VkSparseImageFormatFlagBits, which are return values from queries
(public pull request 768).
* Prettify generated contact list in extension appendices, adding logos
and a New Issue link (public pull request 770).
* Enable sRGB conversion based on the image view format, not the image
format, in the <<textures-format-conversion, Format Conversion>> section
(public pull request 773).
* Fix typo in equation in the <<primsrast-lines-basic, Basic Line Segment
Rasterization>> section (public pull request 780).
* Fix special characters in GitHub contacts links (public pull request
783).
* Make clean_pdf target remove pdf folder (public pull request 784).
* Fix styleguide bad markup of block continuation (public pull request
792).
Other Issues:
* Allow a zero vertex attribute divisor in the
`<<VK_EXT_vertex_attribute_divisor>>` extension, exposed via the
slink:VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT feature.
* Add missing `structextends="VkDeviceCreateInfo"` to
slink:VkPhysicalDeviceShaderDrawParameterFeatures and
slink:VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT.
New Extensions:
* `VK_KHR_memory_model`
* `VK_EXT_astc_decode_mode`
* `VK_EXT_inline_uniform_block`
* Update release number to 83.
Public Issues:
* Use [%inline] directive for all SVGs to reduce file size (public pull
request 734).
* Convert XML `value` aliases into \<alias> tags (public pull request
747).
* Fix metadoc script showing non-selected extensions (public pull request
748).
* Reapply public pull request 742 to make
ename:VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT part of the
graphices pipeline (public pull request 749).
* Fix numerous typos related to accidental duplication of words (public
pull request 760).
* Fix `vk.xml` contact typos (public pull request 761).
Internal Issues:
* Add images to the <<Standard sample locations>> table (internal issue
1115).
* Add a definition of "`Inherited from`" precision in the
<<spirvenv-precision-operation, Precision and Operation of SPIR-V
Instructions>> section (internal issue 1314).
* Clarify that both built-in and user-defined variables count against the
location limits for shader interfaces in the
<<interfaces-iointerfaces-locations, Location Assignment>> section
(internal issue 1316).
* Merge "`required`" capabilities into the <<spirvenv-capabilities-table,
list of optional: SPIR-V capabilities>> (internal issue 1320).
* Relax the layout matching rules of descriptors referring to only a
single aspect of a depth/stencil image, by reference to the new
<<resources-image-layouts-matching-rule, Image Layout Matching Rules>>
section (internal issue 1346).
* Revert extension metadoc generator warning about name mismatches to a
diagnostic, due to annoying warnings in build output for conscious
choices we've made (internal issue 1351).
Other Issues:
* Reserve bits for pending vendor extensions.
* Make Vulkan consistent with SPIR-V regarding code:DepthReplacing and
code:FragDepth in the <<interfaces-builtin-variables, Built-In
Variables>> section.
* Add missing ChangeLog entries for the previous three spec updates.
* 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 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)
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.
* 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 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.
associated material at the top level, vk.xml and associated material in
xml/, and generated include and source files in include/vulkan/ and
src/ext_loader/, respectively (public issue 436).