* Update release number to 119.
* A new extension was accidentally left out of the 1.1.118 spec update.
This update corrects that oversight.
New Extensions:
* `<<VK_KHR_pipeline_executable_properties>>`
* 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 117.
Github Issues:
* Add ename:VK_STENCIL_FACE_FRONT_AND_BACK for naming consistency, and
alias the old ename:VK_STENCIL_FRONT_AND_BACK for backwards
compatibility (public issue 991).
* Fix minor issues with valid usage statements for
flink:vkCreateFramebuffer, slink:VkFramebufferCreateInfo, and
slink:VkRenderPassBeginInfo when the `<<VK_KHR_imageless_framebuffer>>`
extension is enabled (public issue 998).
* Clarify the subpass dependency requirement in the
<<renderpass-layout-transitions>> section to eliminate the need for a
subpass dependency for either the same or different layouts as long as
they're both read-only (relates to
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/948).
Internal Issues:
* Document that <<extendingvulkan-compatibility-promotion, backwards
compatibility aliases are not promoted>> as part of promoting an
extension (internal issue 1677).
* Update VK_ANDROID_native_buffer extension to spec version 8 (internal
issue 1753).
* Add missing section to the <<VK_KHR_shader_controls_v4_incompatibility,
VK_KHR_shader_float_controls>> extension appendix describing
the reason for the breaking API change in version 4 of the extension,
and correct the version to 4 in `vk.xml` (internal merge request
3275).
* Add valid usage statements to slink:VkAccelerationStructureInfoNV
requiring the ename:VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag for
buffers used in acceleration structure building.
New Extensions:
* `<<VK_EXT_line_rasterization>>`
* `<<VK_EXT_texture_compression_astc_hdr>>`
* `<<VK_EXT_index_type_uint8>>`
* Happy 50th Lunar Landing Day!
* Update release number to 116.
Internal Issues:
* Clarify that flink:vkCmdBeginQuery is the same as
flink:vkCmdBeginQueryIndexEXT with index = 0, and that
flink:vkCmdEndQuery is the same as flink:vkCmdEndQueryIndexEXT with
index = 0 (internal issue 1735).
* Clarify that when copying the depth aspect between buffers and images
via slink:VkBufferImage Copy, the depth values in buffer memory must be
in range if the `<<VK_EXT_depth_range_unrestricted>>` extension is not
enabled (internal issue 1737).
* Minor language tweaks in the <<spirvenv-module-validation, Validation
Rules within a Module>> section (internal issue 1744).
* Change the slink:VkPhysicalDeviceFloatControlsPropertiesKHR structure in
the `<<VK_KHR_shader_controls>>` extension. This is a rare case of
breaking the interface of an existing extension to acknowledge the
reality of divergent vendor implementations that could not be described
properly otherwise, and the breaking change is considered acceptable
given the expected low use of the extension (internal issue 1734).
Specific changes:
** Added the slink:VkShaderFloatControlsIndependenceKHR enumeration to
describe the three possible behaviors.
** Renamed pname:separateDenormSettings to
pname:denormBehaviorIndependence.
** Renamed pname:separateRoundingModeSettings to
pname:roundingModeIndependence
* Add a missing valid usage statement for
slink:VkQueryPoolCreateInfo::pname:queryCount (internal issue 1742).
* Update the `<<VK_NV_shading_rate_image>>` appendix to list all
interfaces defined by the extension.
* Add a valid usage statement to
slink:VkWriteDescriptorSetAccelerationStructureNV to clarify that
acceleration structure descriptors must be top level structures.
New Extensions:
* `<<VK_EXT_subgroup_size_control>>`
* 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 114.
Internal Issues:
* Fix extension appendix for `<<VK_INTEL_performance_query>>` to remove
duplicate citation of ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL
(internal merge request 3234).
New Extensions:
* `<<VK_KHR_imageless_framebuffer>>`
* 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 103.
Public Issues:
* Remove (unnecessary) scoped modification order case from the memory
model <<memory-model-location-ordered, location-ordered>> definition
(public pull request 924).
* Add an <<memory-model-acyclicity, acyclicity>> axiom to the memory model
(public pull request 927).
Internal Issues:
* Fix reversed logic of slink:VkFormatProperties discussion of multi-plane
formats and ename:VK_FORMAT_FEATURE_DISJOINT_BIT (internal issue 1493).
* Clarify how slink:VkImageStencilUsageCreateInfoEXT works, including new
valid usage statements for flink:vkCmdClearDepthStencilImage, and the
<<copies, Common Operation>> section of the Copy Commands chapter
(internal issue 1565).
* Update <<spirvenv-precision-operation, Precision and Operation of SPIR-V
Instructions>> section to require that denorms be preserved by several
instructions that don't perform any mathematical operations (internal
issue 1584).
* Remove duplicate valid usage statement from flink:vkAcquireNextImageKHR
(internal merge request 3062).
* 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 100.
Public Issues:
* Clarify that scoped modification order only relates to
<<memory-model-atomic-operation, atomic writes>> (public pull request
906).
* Remove `readme.txt` reference from `xml/README.adoc` (public pull
request 907).
* Add missing slink:VkShaderResourceUsageAMD to the <<Vk_AMD_shader_info>>
appendix (public pull request 908).
* Fix markup for <<VK_EXT_filter_cubic>> appendix (public pull request
911).
* Fix typo "`attachment`" (public pull request 914).
* Alias the enums for `VK_IMG_filter_cubic` properly to the corresponding
`VK_EXT_filter_cubic` enums, so they appear in the corresponding
enumerated types, instead of as #defines (Vulkan-Headers issue 40).
Internal Issues:
* Remove nested conditionals in valid usage statements for
slink:VkFramebufferCreateInfo and flink:vkCmdPipelineBarrier by
duplicating statements along ifdef/ifndef paths for
VK_KHR_depth_stencil_resolve (internal issue 1527).
* Clarify allowed values of <<spirv-precision-operation, SPIR-V operations
near infinity>>. For very large results of operations the allowed range
of return values as defined in the spec didn't include the largest
finite number. In some rounding modes (eg. RTZ) the largest finite
number is the correctly rounded result, so it should be allowed.
* Require descriptor types to match in slink:VkCopyDescriptorSet.
* Update release number to 99.
Public Issues:
* Add missing pname:pMemoryHostPointerProperties description to
flink:vkGetMemoryHostPointerPropertiesEXT.txt (public pull request 896).
* Minor markup fixes (public pull request 900).
* Minor update to `khronos.css` and markup fixes (originally proposed in
public pull request 901, but done via an internal MR).
Internal Issues:
* Document restrictions on image queries for Y'CbCr formats in the
<<features-formats-requiring-sampler-ycbcr-conversion>> table as well as
for slink:sname:VkImageFormatProperties and slink:VkImageCreateInfo
(internal issue 1361).
* Correct type of the code:FragSizeEXT built-in in the
<<interfaces-builtin-variables, Built-In Variables>> section (internal
issue 1526).
* Clean up math in the <<textures, Image Operations>> chapter by
refactoring, using better naming conventions, updating diagrams to use
the correct orientation, etc. (internal merge request 2968).
* Fix minor typos for slink:VkImageCreateInfo and
slink:VkImageStencilUsageCreateInfoEXT.
* Add missing documentation for tlink:VkResolveModeFlagsKHR.
* Fix extension dependency of pname:scalarBlockLayout in the
<<features-features-requirements, Feature Requirements>> section.
* Fix indexing math for shader binding table calculations in the
<<shader-binding-table-indexing-rules, Indexing Rules>> section, and use
spelling "`any-hit`" consistently.
* Reconcile valid usage statement and text for sampled image layouts in
slink:VkWriteDescriptorSet
(https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/551).
* Make SPIR-V code:OpConvertUToPtr and code:OpConvertPtrToU operations
require a 64-bit integer for physical storage buffer pointers in the
<<spirvenv-module-validation, Validation Rules within a Module>>
section.
* Update to KaTeX 10.0.
New Extensions:
* `VK_EXT_filter_cubic`
* `VK_NV_dedicated_allocation_image_aliasing`