* Update release number to 124.
Github Issues:
* Fix Makefile SPECREMARK macro to work when not building in a git tree
(public issue 992).
* Ignore pname:aspectMask for unused attachments in
slink:VkSubpassDescription2KHR valid usage statements (public pull
request 1028).
* Minor markup / spelling fixes (public pull requests 1035, 1045).
Internal Issues:
* Fix markup in Valid Usage statement for slink:VkCreateFramebuffer
(internal issue 1823).
* Add a new <<synchronization-signal-operation-order, _signal operation
order_>> section to the synchronization chapter which describes in
detail the ordering guarantees provided by the API between fence and
semaphore signal operations (internal merge request 3368).
* Move generated `appendix/meta/` files into the Makefile GENERATED
directory (internal merge request 3381).
New Extensions
* `<<VK_KHR_shader_clock>>`
* `<<VK_KHR_timeline_semaphore>>`
* Update release number to 123.
Github Issues:
* Add missing aspect mask descriptions to elink:VkImageAspectFlagBits
(public pull request 1029).
* Modify validity generator script to not check validity of ignored values
in same-parent valid usage statements (public pull request 1030).
* Make slink:VkDescriptorUpdateTemplateCreateInfo::pname:descriptorSetLayout
`noautovalidity` in `vk.xml` (public pull request 1031).
* Fix footnote markup in the <<vkGetDeviceProcAddr behavior>> table
(public pull request 1034).
Internal Issues:
* Require that <<interfaces-builtin-variables-sgs, code:SubgroupSize>> be
a power of two (internal issue 1499).
* Clarify that shaderFloat64 and shaderInt64 enable all storage classes,
while shaderFloat16, shaderInt8, and shaderInt16 only enable
non-interface storage classes. in the <<features-shaderFloat64>>,
<<features-shaderInt64>>, and <<features-shaderInt16>> descriptions and
for slink:VkPhysicalDeviceShaderFloat16Int8FeaturesKHR (internal issue
1582).
* Fix broken asciidoctor conditional logic in the
<<spirvenv-module-validation, Validation Rules within a Module>>
section, and add style guide language to help avoid this problem in the
future (internal issue 1808).
* Modify VUID assignment script to use the first API include in a block as
part of the VUID name rather than the last one, so the VUID is based on
the promoted API name (internal issue 1809).
* Cleanup string descriptions to consistently refer to "`null-terminated
UTF-8`" strings (internal issue 1813).
* Clarify the purpose of the
slink:VkPhysicalDeviceLimits::ptext:maxDescriptorSet* limits (internal
merge request 3357).
* Fix the slink:VkPhysicalDeviceRayTracingPropertiesNV limits for
pname:maxGeometryCount, pname:maxInstanceCount, and
pname:maxTriangleCount in the <<limits-required, Required Limits>>
section (internal issue 3372).
* Update SPIR-V image op sign-matching rules in the
<<spirvenv-module-validation, Validation Rules within a Module>>
section, the <<formats-numericformat>> table, and the
<<interfaces-resources-descset, Descriptor Set Interface>> section
(internal spirv/SPIR-V issue 332).
New Extensions
* `<<VK_KHR_shader_subgroup_extended_types>>`
* `<<VK_GOOGLE_user_type>>`
* Update release number to 122.
Internal Issues:
* Add style guide language on not using standalone `+` signs (internal
issue 736); not using leading whitespace for markup (internal issue
747); and on keeping descriptions of a single API in a contiguous block
of markup (internal issue 949), and apply them to the specification.
* Add a glossary definition of "`constant integral expression`", pointing
to the SPIR-V "`constant instruction`" definition (internal issue 1225).
* Many minor edits to improve writing style consistency and capture
additional style guidelines (internal issue 1553).
* Clarify that <<fragops-depth-write, depth writes are not performed>> if
there is no depth framebuffer attachment (internal issue 1771).
* Allow implementations to use rectangular line style of interpolation for
<<primsrast-lines-bresenham, wide Bresenham lines>>, though replicating
attributes is still preferred. Clarify that code:FragCoord is not
replicated (internal issue 1772).
* Resolve a contradiction in valid usage statements for
slink:VkImageCreateInfo and slink:VkImageStencilUsageCreateInfoEXT
(internal issue 1773).
* Add style guide discussion of markup for indented equations, and use
markup workaround for asciidoctor 2 compatibility (internal issue 1793).
* Deprecate the `<<VK_EXT_validation_flags>>` extension in `vk.xml` and
the extension appendix (internal issue 1801).
* Add a new checker script `scripts/xml_consistency.py`. This is not
currently run as part of internal CI (internal merge request 3285).
* Correct "`an`" -> "`a`" prepositions where needed (internal merge
request 3334).
* Clarify that the <<features-uniformBufferStandardLayout,
pname:uniformBufferStandardLayout>> feature is only required when the
extension defining it is supported (internal merge request 3341).
* Bring scripts into closer sync with OpenXR, mainly through conversion of
comments to docstrings where appropriate, and add gen-scripts-docs.sh
(internal merge request 3324).
* Correct pname:maxDrawMeshTasksCount to 2^16^-1 in the <<limits-required,
Required Limits>> table (internal merge requests 3361).
New Extensions
* `<<VK_IMG_format_pvrtc>>` (public issue 512).
* Update release number to 121.
Github Issues:
* Add missing `structextends` attribute in `vk.xml` for
slink:VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR (public
issue 1018).
* Change attributes of flink:vkCmdCopyAccelerationStructureNV,
flink:vkCmdWriteAccelerationStructuresPropertiesNV,
flink:vkCmdBuildAccelerationStructureNV, and flink:vkCmdTraceRaysNV to
require that these commands execute outside renderpasses (public issue
1021).
* Add an issue to the `<<VK_EXT_buffer_device_address>>` appendix
discussing the introduction of new names and aliasing by equivalent old
names (public pull request 1024).
Internal Issues:
* Protect the `VK_KHR_sampler_mirror_clamp_to_edge` extension with
asciidoctor conditionals, and remove it from the core-only specification
builds, where it had previously been force-included in the Makefile. It
is now treated like any other extension (internal issue 1776).
* Edit some asciidoctor anchor names starting with `features-features-` to
just start with `features-`, since the old chapters was split into 3
pieces. There are still some mild naming inconsistencies with anchors
which may be addressed in the future (internal issue 1792).
* Add `KHR` alias for the non-suffixed extension token
ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, for compatibility
with naming rules for extensions (internal issue 1796).
* Clarify requirements for external memory in NOTEs for
sname:VkExternalMemoryBufferCreateInfo, and valid usage statements for
flink:vkBindBufferMemory, slink:VkBindBufferMemoryInfo,
flink:vkBindImageMemory, and slink:VkBindImageMemoryInfo (internal merge
request 3301).
* Make extension version numbers in `vk.xml` and extension appendices
consistent. In a few cases, we could not recover history at this
granularity, and left the summary of a version's change undefined
(internal merge request 3323).
* Fix invocation of `CodeInlineMacro` in the Ruby extension backing the
`code:` macro, which was delegating to the wrong base class (internal
merge request 3331).
* Modify `reg.py` to do a better job of recognizing equivalent <enum>
definitions.
* Add a `sortorder` attribute to XML feature and extension tags.
New Extensions
* `<<VK_AMD_device_coherent_memory>>`
* 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 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).