* Update release number to 113.
Github Issues:
* Fix typo in `<<VK_EXT_global_priority>>` appendix (public issue 979).
Internal Issues:
* Expand the explanation of
slink:VkSamplerYcbcrConversionImageFormatPropertiesKHR::pname:combinedImageSamplerDescriptorCount,
and explain how it interacts with slink:VkWriteDescriptorSet,
slink:VkDescriptorSetLayoutBinding::pname:descriptorCount, and
slink:VkDescriptorPoolSize::pname:descriptorCount (internal issue 1643).
* Clarify restrictions on components for code:OpImageGather in the
<<spirvenv-module-validation, Validation Rules within a Module>> section
(internal issue 1707).
* Clarify the descriptions of <<limits-computeUnitsPerShaderArray,
pname:computeUnitsPerShaderArray>> and <<limits-wavefrontSize,
pname:wavefrontSize>> fields in
slink:VkPhysicalDeviceShaderCorePropertiesAMD.
New Extensions:
* `<<VK_EXT_texel_buffer_alignment>>`
* `<<VK_EXT_shader_demote_to_helper_invocation>>`
* Update release number to 112.
Github Issues:
* Clarify that it is possible to use the <<memory-host, Host Memory>>
pname:pfnReallocation callback to free memory in any case that
pname:pfnFree could be used (public issue 973).
Internal Issues:
* Clarify range and precision of code:OpImageQueryLod in the discussion of
scale factor and level-of-detail operation in the
<<textures-normalized-operations, Normalized Texel Coordinate
Operations>> section (internal issues 926, 1719).
* Fix framebuffer layer valid usage statements for
slink:VkRenderPassCreateInfo, slink:VkRenderPassCreateInfo2KHR, and
slink:VkFramebufferCreateInfo (internal issue 1670).
* Refactor common valid usage statements for flink:vkCmdBeginQuery and
flink:vkCmdBeginQueryIndexedEXT (internal issue 1682).
* Prohibit the ename:ename:VK_SAMPLER_YCBCR_RANGE_ITU_NARROW range from
being used in slink:VkSamplerYcbcrConversionCreateInfo for formats with
a bit depth less than 8 (internal issue 1688).
* Add missing interactions with `<<VK_EXT_host_query_reset_usage>>` in the
<<queries, Queries>> chapter (internal issue 1692).
* Clean up error output from the `optimize-pdf` build script on success.
* Fix an internal link to the <<spirvenv-correctly-rounded, Correctly
Rounded>> section in the SPIR-V appendix by adding and referring to that
anchor.
* Fix extension version numbers in `vk.xml` for `VK_EXT_filter_cubic` and
`VK_IMG_filter_cubic`.
* Specify division precision for negative numbers, and remove statement
that trigonometric functions have undefined precision, in the
<<spirvenv-precision-operation, Precision and Operation of SPIR-V
Instructions>> appendix.
* Update release number to 111.
Github Issues:
* Clean up flink:vkGetPhysicalDeviceSurfaceFormatsKHR and
flink:vkGetPhysicalDeviceSurfaceFormats2KHR to drop the
ename:VK_FORMAT_UNDEFINED case, require callers pass a supported
surface, and rearrange some validation-related language (public issue
207).
* Allow dynamic and nonuniform indexing of acceleration structures in the
<<interfaces-resources-descset, Descriptor Set Interface>> section
(public KhronosGroup/glslang issue 1766).
Internal Issues:
* Clarify when images require the use of YCbCr samplers for
slink:VkWriteDescriptorSet and slink:VkImageViewCreateInfo (internal
issue 1639).
* Remove the "`block`" language around <<features-robustBufferAccess,
vectorizing and robust buffer access>> (internal issue 1642).
* Allow code:OpTypeImageFormat == code:Unknown for input attachments in
the <<interfaces-resources-descset, Descriptor Set Interface>> section
(internal issue 1645).
* Fix asciidoctor conditionals around
ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT in the
<<fundamentals-errorcodes>> section (internal issue 1679).
* Remove error codes from `vk.xml` for
flink:vkUninitializePerformanceApiINTEL, which has a `void` return type
(internal issue 1704).
* Various subgroup-related fixes in the <<spirvenv-capabilities,
Capabilities>>, <<shaders-subgroup-arithmetic, Arithmetic Subgroup
Operations>>, <<shaders-subgroup-clustered, Clustered Subgroup
Operations>>, and <<shaders-subgroup-partitioned, Partitioned Subgroup
Operations>> sections (internal merge request 3164).
* Fix asciidoctor markup affecting math rendering in the <<Precision of
core SPIR-V Instructions>> table (internal merge request 3166).
* Fix incorrect reference to flink:vkGetPhysicalDeviceFeatures2KHR in the
description of slink:VkPhysicalDeviceASTCDecodeFeaturesEXT (internal
merge request 3169).
* Fix a non-sentence in the introduction to the <<textures, Image
Operations Overview>> section (internal merge request 3184).
* Minor markup, grammar, and typo fixes for the
`<<NV_shader_sm_builtins>>` extension spec language (internal merge
request 3189).
* Clarify that 1D and 1D array format support is optional for cubic
filters, immediately following the <<formats-mandatory-features-astc,
Mandatory ASTC LDR format support>> table (internal merge request 3194).
* 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 106.
Public Issues:
* Add searchbox and generate search index for the chunked HTML target.
Note that doing this requires several new toolchain components to build
the `chunked` target (public issue 578 / internal issue 1352).
* Remove descriptions of flink:vkCreateSampler sampler constraints which
were repeated in the valid usage statements (public pull request 648).
* Fix sense of conditional around a valid usage statement in the
<<copies>> chapter (public issue 942).
Internal Issues:
* Add missing pname:extent.width and pname:extent.height valid usage
statements for flink:vkCmdClearAttachments (internal issue 1583).
* Fix some inconsistencies in structures and corresponding pname:sType
enumerant names by renaming
sname:VkPhysicalDeviceShaderDrawParameterFeatures ->
slink:slink:VkPhysicalDeviceShaderDrawParametersFeatures;
sname:VkPhysicalDeviceVariablePointerFeatures ->
slink:VkPhysicalDeviceVariablePointerFeatures;
sname:VkPhysicalDeviceVariablePointerFeaturesKHR ->
slink:VkPhysicalDeviceVariablePointerFeaturesKHR;
sname:VkPhysicalDeviceBufferAddressFeaturesEXT ->
slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES
->
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES ->
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR ->
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR;
and etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
->
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT.
The old names are still available as aliases for backwards
compatibility. This change required introducing valid XML markup which
externally written XML processing scripts may need to be modified to
accomodate, to support multiple aliases of a single command or token
name (internal issue 1592).
* Add slink:VkDevice as the first parameter to flink:vkSetLocalDimmingAMD
(internal issue 1618).
* Improve CI header compilation tests to test all Vulkan platform
includes, using fake platform headers where needed, and change the
`allchecks` Makefile target to use the more comprehensive
`check_spec_links.py` script instead of the retired `checkinc` and
`checklinks` targets.
* Move descriptions of the ASTC compressed texture decode mode from the
<<appendix-compressedtex-astc,appendix>> to the recently updated
external Khronos Data Format Specification.
* Fix minor markup and spelling issues in the `VK_NV_ray_tracing`
extension.
* Update release number to 105.
Public Issues:
* Fix contractions and other markup issues (public pull request 935).
New Extensions:
* Google Games Platform
** New `ggp` platform and associated header file `vulkan_ggp.h`
** `VK_GGP_frame_token`
** `VK_GGP_stream_descriptor_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 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`
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).