* Update release number to 120.
Github Issues:
* Add slink:VkAccelerationStructureTypeNV explicitly to extension XML for
`<<VK_NV_ray_tracing>>` (public issue 848).
* Add missing valid usage statements for feature flags in
slink:VkCommandBufferInheritanceInfo (public pull request 1017).
Internal Issues:
* Clarify behavior of non-premultiplied destination colors for
`<<VK_EXT_blend_operation_advanced>>` prior to the definition of
slink:VkBlendOverlapEXT (internal issue 1766).
* Fix the confusing phrasing "`no other queue must: be (doing something)`"
for flink:vkQueuePresentKHR, flink:vkQueueSubmit, and
flink:vkQueueBindSparse (internal issue 1774).
* Add `<<VK_EXT_validation_features>>` flag to enable best practices
checks, which will soon be available in the validation layer (internal
issue 1779).
* Specify allowed characters for VUID tag name components in the style
guide (internal issue 1788).
* Update links to SPIR-V extension specifications, and parameterize their
markup in case the URLs change in the future (internal issue 1797).
* Fix an off-by-one error in the valid usage statement for
slink:VkPipelineExecutableInfoKHR (internal merge request 3303).
* Clean up markup indentation not matching the style guide (internal merge
request 3314).
* Minor script updates to allow refpage aliases, generate a dynamic TOC
for refpages, generate Apache rewrite rules for aliases, open external
links from refpages in a new window, and synchronize with the OpenCL
scripts. This will shortly enable a paned navigation setup for refpages,
similar to the OpenCL 2.2 refpages (internal merge request 3322).
* Script updates to add tests to the checker, refactor and reformat code,
generate better text for some valid usage statements, use more Pythonic
idioms, and synchronize with the OpenXR scripts (internal merge request
3239).
* Script updates and minor fixes in spec language to not raise checker
errors for refpage markup of pages not existing in the API, such as
VKAPI_NO_STDINT_H. Remove corresponding suppression of some
check_spec_links.py tests from .gitlab-ci.yml and 'allchecks' target
(internal merge request 3315).
* Update release number to 118.
Github Issues:
* Update `BUILD.adoc` to specifically require asciidoctor 1.5.8, and make
that change to the gitlab CI script (public issue 968).
* Remove redundant slink:VkSubpassDependency and
slink:VkSubpassDependency2KHR valid usage statements
(public pull request 995).
* Clarify the <<vkGetInstanceProcAddr behavior>> and <<vkGetDeviceProcAddr
behavior>> tables (public pull request 1004).
* Fix use of nonexistent
slink:VkSamplerYcbcrConversionImageFormatProperties::pname:maxCombinedImageSamplerDescriptorCount
(public pull request 1010).
* Use compatible pathlib for python2 (public pull request 1012).
Internal Issues:
* Mark the <<VK_KHR_vulkan_memory_model>> extension as no longer
provisional in `vk.xml` (internal issue 1369).
* Clarify that use-defined code:Input and code:Output variables cannot be
code:Boolean in the <<interfaces-iointerfaces-user, User-defined
Variable Interface>> section (internal issue 1663).
* Fix naming inconsistencies in
slink:VkPhysicalDevicePerformanceQueryFeaturesKHR,
slink:VkPhysicalDevicePerformanceQueryPropertiesKHR,
slink:VkQueryPoolPerformanceCreateInfoKHR, and associated enumerants
(internal issue 1746).
* Use ACM reference style for normative references (internal merge request
3256).
* Explicitly list the features changed in Vulkan 1.1 in the
<<features-requirements, Feature Requirements>> section and the
<<versions, Core Revisions (Informative)>> appendix (internal merge
request 3274).
* Add the slink:VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structure
to the <<VK_EXT_subgroup_size_control>> extension, which was
accidentally omitted in the initial release of the extension (internal
merge request 3287).
* Add missing slink:VkImageUsageFlag description for
ename:VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT (internal merge
request 3292).
* Add valid usage statements to slink:VkAccelerationStructureInfoNV and
flink:vkGetAccelerationStructureHandleNV to clarify usage of
acceleration structure handle and geometries (internal merge request
3292).
New Extensions:
* `<<VK_AMD_shader_core_properties2>>`
* `<<VK_AMD_pipeline_compiler_control>>`
* Update release number to 109.
Github Issues:
* Require matching for physical devices to be in a device group in the
<<devsandqueues-devices, Devices>> section (public issue 695).
* Fix typo in an equation in the <<fragmentdensitymap-fetch-density-value,
Fetch Density Value>> section (public issue 954).
* Fix styleguide links (public pull request 965).
Internal Issues:
* Allow <<renderpass-compatibility, compatibility of single-subpass
renderpasses>> with different resolve attachments (internal issue 1464).
* Add some missing empty flags types to API spec so custom refpage
generation doesn't break (internal issue 1607).
* Add a "`SPIR-V Sampled Type`" column to the <<formats-numericformat,
Interpretation of Numeric Formats>> table, and clarify the requirement
that the code:OpTypeImage sampled type match the bound image's numeric
format for slink:VkClearColorValue and in the
<<interfaces-resources-descset, Descriptor Set Interface>> section
(internal issue 1646).
* Fix a typo in the <<tessellation-quad-tessellation, Quad Tessellation>>
section which should refer to rectangles, not triangles (internal issue
1667).
* Clarify the definition of time domains in elink:VkTimeDomainEXT
(internal merge request 3110).
* Add R10X6 and R12X4 formats to the <<formats-mandatory-features-10bit>>
table (internal merge request 3137).
* Don't require extern sync on wait/signal semaphores in `vk.xml` for
flink:vkQueueSubmit and flink:vkQueueBindSparse (internal merge request
3116).
* Improve phrasing of compute and mesh shader size related to
code:LocalSize and code:WorkgroupSize in
slink:VkPhysicalDeviceMeshShaderPropertiesNV and
slink:VkPhysicalDeviceMaintenance3Properties (internal merge request
3156).
* Make the flink:vkCmdBindShadingRateImageNV pname:imageView parameter
optional in `vk.xml` (internal merge request 3157).
New Extensions:
* `<<VK_INTEL_performance_query>>`
* `<<VK_INTEL_shader_integer_functions2>>`
* Update release number to 108.
Internal Issues:
* Clarify that only external resources can be bound to external memory in
valid usage statements for flink:vkBindBufferMemory,
flink:vkBindImageMemory, slink:VkSparseMemoryBind, and
slink:VkSparseImageMemoryBind (internal issue 1496).
* Move all `vk.xml`requirements for
flink:vkGetDeviceGroupSurfacePresentModes2EXT into
`<<VK_EXT_full_screen_exclusive>>` (internal issue 1622).
* Add some missing valid usage statements for
flink:vkCmdEndQueryIndexedEXT (internal issue 1638).
* Specify rules for defining "`New Flags and Bitmask Types`" in that
section of the style guide (internal issue 1649).
* Add a comment to the `vk.xml` extension block for
`VK_ANDROID_native_buffer` explaining why the extension is tagged
`"disabled"` (internal issue 1657).
* Fix typos in the description of slink:VkImageViewCreateInfo (internal
issue 1661).
* Modify valid usage statements for slink:VkImageViewCreateInfo to fix the
description about the restriction for pname:baseArrayLayer and
pname:layerCount from pname:extent.depth to the depth of mipmap level
while creating a 2D array image view on a 3D image.
* Forbid structures that contain opaque types (images or samplers) in the
SPIR-V <<spirvenv-module-validation, Validation Rules within a Module>>
section.
* Minor editorial changes for the `VK_EXT_swapchain_colorspace` extension
in the description of slink:VkColorSpace KHR and `vk.xml`, including:
** Consistently specify which function (OETF or Inverse-EOTF) is being
defined;
** Remove the Display P3 EOTF, since no other EOTFs are defined;
** Include luminance range for the HLG OETF;
** Remove a duplicated paragraph; and,
** Rename ename:VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, leaving the old
ename:VK_COLOR_SPACE_DCI_P3_LINEAR_EXT token as an alias.
New Extensions:
* `<<VK_NV_framebuffer_mixed_samples_coverage_reduction_mode>>`
* `<<VK_KHR_uniform_buffer_standard_layout>>`
* 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 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 98.
Public Issues:
* Fix missing markup in flink:vkDestroyPipelineLayout valid usage
statement (pull request 882).
* Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public
pull request 891).
Internal Issues:
* Detect nested bullet points in valid usage blocks and warn about them
during VUID assignment (internal issue 1382).
* Update the style guide to document the process for reserving new bits in
bitmask types (internal issue 1411).
* Clarify for slink:VkApplicationInfo::pname:apiVersion and in the
<<fundamentals-validusage-versions, Valid Usage for Newer Core
Versions>> section when it is valid for an application to use a certain
version of Vulkan API functionality (for an instance and for a
device/physical device); and when the validation layers must generate an
error (internal issue 1412).
* Add optional <<memory-model-availability-visibility, transitive
availability/visibility operations to the memory model, including a new
pname:vulkanMemoryModelAvailabilityVisibilityChains feature for
slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue
1460).
* Add the code:StorageBuffer storage class to those in the
<<interfaces-resources-descset, Descriptor Set Interface>> (internal
issue 1480).
* Add missing `returnedonly` tags for a number of returned extension
structures that can be passed in pname:pNext chains (internal issue
1515).
* Clean up and rearrange some spec language for
slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt
(internal issue 1522).
* Correctly round the code:OpVectorTimesScalar and
code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core
SPIR-V Instructions>> table (internal merge request 2996).
* Work around cases in flink:vkCmdBeginTransformFeedbackEXT,
flink:vkCmdEndTransformFeedbackEXT, and
slink:VkPipelineCoverageModulationStateCreateInfoNV where an array
parameter is `optional` but the length is not in `vk.xml`. This is an
interim fix using `noautovalidity` + handcoded VU replacing those that
should be autogenerated (internal issue 2944 and
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/480).
* Remove redundant capability validation of the code:float16 and code:int8
SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>>
section, since they are already covered in the preceding table.
* Update check_spec_links script, including validation for reference page
open blocks. Fix errors identified by the script.
* 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 95.
Public Issues:
* Fix valid usage and XML issues found in public issues 789 and 790 for
the `VK_EXT_debug_utils` extension (public pull request 794).
* Replace references to `VK_NV_dedicated_allocation` with links to the
corresponding slink:slink:VkMemoryDedicatedRequirements and
slink:slink:VkMemoryDedicatedAllocateInfo structures in the description
of elink:VkExternalMemoryFeatureFlagBits (public issue 801).
* Fix miscellaneous minor markup and spelling issues in
`VK_NV_ray_tracing` extension (public pull request 860).
* Remove "returnedonly" from XML for
slink:VkPhysicalDeviceInlineUniformBlockFeaturesEXT and
slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (public issue 862).
Internal Issues:
* Add to the description of the
<<features-limits-maxComputeSharedMemorySize,
pname:maxCompureSharedMemorySize>> feature to state the shared variables
should be packed at least as tightly as std430 (internal issue 1386).
* Fix and clarify various references to image and image view usage in
flink:vkCmdBindShadingRateImageNV, flink:vkCmdBeginRenderPass, and
slink:VkImageStencilUsageCreateInfoEXT (internal issue 1432).
* Require that the slink:VkImage mipmap chain match the Android hardware
buffer mipmap chain for slink:VkMemoryAllocateInfo (internal issue
1479).
* Fix the definition of slink:VkSwapchainCreateInfoKHR valid usage
statement 01778 (Vulkan-ValidationLayers!15)
* Fix descriptions of <<interfaces-builtin-variables-launchid,
code:LaunchIDNV>> and <<interfaces-builtin-variables-launchsize,
code:LaunchSizeNV>> to code:uvec3.
New Extensions:
* `VK_KHR_shader_float16_int8`
* `VK_KHR_shader_float_controls`
* 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 91.
Public Issues:
* Update Ubuntu subsystem build instructions in `BUILD.adoc` (public pull
request 624).
* Delete the `VK_KHR_mir_surface` extension from the Specification and
XML, due to EOL of the only driver known to have supported it, and
near-EOL of Mir itself (public issue 814).
* Fix options for some figures that were using old ones (public pull
request 841).
* Fix various accidentally repeated words (public pull request 843).
* Use `time.process_time()`, introduced in Python 3.3, in the scripts
instead of `time.clock()`, which will be removed in Python 3.8 (public
pull request 844).
Internal Issues:
* Update valid usage statements for
`VK_ANDROID_external_memory_android_hardware_buffer` in
slink:VkMemoryAllocateInfo,
slink:VkImportAndroidHardwareBufferInfoANDROID, and
flink:vkGetAndroidHardwareBufferPropertiesANDROID to actually be
verifiable (internal issue 1419).
* Update valid usage statements for
`VK_ANDROID_external_memory_android_hardware_buffer` in
slink:VkMemoryAllocateInfo, slink:VkImageCreateInfo, and
slink:VkImageViewCreateInfo to move valid usage statements in
doubly-nested bullet points up one level, accomodating limitations of
the valid usage extraction script that creates `validusage.json`
(internal issue 1434).
* Fix typo etext:VK_ACCESS_SHADING_RATE_IMAGE_BIT_NV to the correct
ename:VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV.
* Add missing etext:VK_STRUCTURE_TYPE_* tokens to appendices for
extensions missing them.
New Extensions:
* `VK_AMD_memory_overallocation_behavior`
* `VK_NV_ray_tracing`, replacing `VK_NVX_raytracing`
since 1.1.89; fixed now).
Change log for October 28, 2018 Vulkan 1.1.90 spec update:
* Update release number to 90.
Public Issues:
* Tag flink:vkQueueWaitIdle as `externsync` in `vk.xml` (public pull
request 815).
* Update README (public pull request 834).
* `VK_NV_framebuffer_mixed_samples` and `VK_AMD_mixed_attachment_samples`
had confusing and contradictory valid usage statements when read in the
all-extensions spec build. Change them to explicitly mention which
extension each is for (public issue Vulkan-ValidationLayers/issues/353).
Internal Issues:
* Update `COPYING.md` to clarify how externally generated Vulkan
Specifications (for translations, annotations, or other reasons) must be
copyrighted, and acknowledge the Exception Clause on the `vk.xml`
license (internal issue 1079).
* Specify that flink:vkGetPhysicalDeviceImageFormatProperties may: return
pname:maxMipLevels 1 if the format is ycbcr (internal issue 1361).
* Clarify previously underspecified language for
flink:vkCmdPushConstants::pname:pStageFlags regarding use of push
constants across multiple pipelines (internal issue 1403).
* Fix typo in XML/headers for
ename:VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
which was previously
etext:VK_STRUCTURE_TYPE_IMAGE_EXCPLICIT_DRM_FORMAT_MODIFIER_CREATE_INFO_EXT
(internal issue 1428).
* Fix markup of equations that were sporadically breaking the
`optimize-pdf` step of PDF generation, due (apparently) to inconsistent
treatment of unwrapped multicharacter terms by different LaTeX parsers
(internal issue 1435).
* For the <<memory-model-synchronizes-with synchronizes-with>> memory
model relation cases involving a release barrier plus relaxed atomic
write, treat the atomic as if it were a release atomic and allow the
acquire side to read from its hypothetical release sequence. This is
more consistent with how C++ defines synchronization for release fences
(internal issue cross-api/memory-model#72).
* Minor editorial changes to the <<memory-model, memory model>> appendix
based on external feedback.
* 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 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 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 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.
* Update release number to 72.
Github Issues:
* Restructure the repository to put the specification `Makefile` and
associated spec source material at the top level, `vk.xml` and
associated scripts material in `xml/`, and generated include and source
files in `include/vulkan/` and `src/ext_loader/`, respectively (public
issue 436).
* Add missing bullet point markup to flink:vkCmdCopyImage valid usage
statement, so it gets a VUID assigned (public issue 627).
* Fix broken links in a couple of extension appendices (public pull
request 665).
* Add the \<platform> tag to the index in section 4.1 of the registry
schema documentation, and add the protect= attribute of \<extension>
tags to the comments in `registry.rnc` (public issues 673, 678).
* Add missing valid usage statements for sparse image interactions to
flink:VkImageCreateInfo (public pull request 675).
* Fix improper usage and grammar of "`can: not`" (public pull request
681).
* Remove duplicate spec language and NOTE on present layout between the
flink:vkAcquireNextImageKHR and flink:vkAcquireNextImage2KHR commands
(public pull request 685).
* Fix some typos and markup issues (public pull request 689; public issues
642, 667, 687).
* Fix typo etext:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT ->
ename:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT in the
<<external-semaphore-handle-types-compatibility, External semaphore
handle types compatibility>> table (public pull request 691).
Internal Issues:
* Remove the need for the "`noautovalidity`" attribute on extension
structures in `vk.xml`. It is now implied by the "`structextends`"
attribute instead (internal issue 942).
* Replace uses of "`currently bound`" with "`bound`", since "`currently`"
is redundant and distracting, and add a corresponding rule to the style
guide (internal issue 993).
* Fixed subtle issues with the last updates to flink:vkAcquireNextImageKHR
language that had resulted in ambiguities (internal issue 1178).
* Make it clear that only one query of a given type is allowed at a time
by reordering valid usage statements for flink:vkCmdBeginQuery and
flink:vkCmdEndQuery, and removing redundant ones (internal issue 1213).
* Swapped OL1 and OL3 in `tessparamUL.svg` to match previous version, and
fixed where "`(no edge)`" appears (internal issue 1215).
Other Issues:
* Fixed a minor problem with the valid usage statement extraction script,
and corresponding markup in the spec source.
New Extensions:
* `VK_AMD_shader_core_properties`
* `VK_EXT_descriptor_indexing`
* `VK_NV_shader_subgroup_partitioned`
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).