* Update release number to 115.
GitHub issues:
* Add valid usage statements to slink:VkWriteDescriptorSet and
slink:VkCopyDescriptorSet specifying that updating immutable descriptors
with ename:VK_DESCRIPTOR_TYPE_SAMPLER is invalid, and that updating
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER ignores the update's
samplers (public issue 985).
* Document that the `manhtmlpages` target requires building with all
extensions enabled, in `BUILD.adoc` (public issue 992).
* Fix reference to the wrong subpass in valid usage statement for
slink:VkRenderPassCreateInfo (public pull request 994).
Internal Issues:
* Rename slink:VkPhysicalDeviceShaderIntegerFunctions2INTEL and
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL
for consistency with global naming conventions, and to help code
generation in other projects (internal issue 1685).
* Update valid usage statements for image code:Offset / code:ConstOffset
usage in the <<textures-gather, Texel Gathering>> and
<<spirvenv-module-validation, Validation Rules within a Module>>
sections, and for the <<limits-minTexelGatherOffset>> and
<<limits-maxTexelGatherOffset>> limits (internal issue 1723).
* Require code:code:OpGroupNonUniformBroadcast to take a constant `Id`
operand in the <<spirvenv-module-validation, Validation Rules within a
Module>> sections (internal issue 1726).
* Note that the swapchain specified in slink:VkImageSwapchainCreateInfoKHR
when creating an image must match the one specified in
slink:VkBindImageMemorySwapchainInfoKHR when binding memory to the image
(internal issue 1729).
* Remove stext:KHR suffix from some structure cross-references that were
promoted to Vulkan 1.1 (internal issue 1730).
* Fix structure name in `structextends` attribute for
slink:VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT in `vk.xml`
(internal issue 1740).
* Fix an error in the code:ClipColor() pseudocode for
<<VK_EXT_blend_operation_advanced>> (internal issue 1741).
* Add a row for
ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV to the
description of elink:VkQueryType, and make a few related minor text
cleanups.
* Rename slink:VkPhysicalDeviceFloat16Int8FeaturesKHR to
slink:VkPhysicalDeviceShaderFloat16Int8FeaturesKHR for consistency,
retaining aliases of the old structure name and structure type enum for
backwards compatibility.
* 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 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.
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).