Vulkan API specifications 1.0.4 released

Started by JeGX, February 26, 2016, 01:51:30 PM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

JeGX

Quote
Change log for April 26, 2020 Vulkan 1.2.139 spec update:

  * Update release number to 139 for this update.

Github Issues:

  * Configure Github CI with Azure pipelines and the Khronos Docker build
    image (public pull request 1141).
  * Move NOTE in flink:vkEnumerateInstanceVersion prior to valid usage
    statements (public pull request 1237).
  * Add `implicitexternsyncparams` to flink:vkDestroyInstance for
    slink:VkPhysicalDevice objects (public pull request 1244).
  * Note in the style guide that extension names are used as preprocessor
    symbols in all the generated Vulkan headers (public pull request 1245).
  * Move NOTE about app use of `switch` statements and Vulkan API enums from
    the style guide into the <<fundamentals-validusage-enums, Valid Usage
    for Enumerated Types>> section (public pull request 1246).
  * Modify generator script to use Unix newlines on all platforms (public
    pull request 1250).

Internal Issues:

  * Allow ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT error to be
    generated by flink:vkQueuePresentKHR (internal issue 1932).
  * Update references to the SPIR-V Specification to version 1.5.3 (internal
    issue 1957).
  * Add a \<comment> explaining why the bitfields defined for
    slink:VkAccelerationStructureInstanceKHR in `vk.xml` are non-normative
    (internal issue 1975).
  * Add valid usage statement for flink:vkBindImageMemory2::pname:pBindInfos
    to prevent binding disjoint memory twice (internal merge request 3696).
  * Add valid usage statements to flink:vkGetBufferMemoryRequirements,
    flink:vkGetImageMemoryRequirements, and
    slink:VkBufferMemoryRequirementsInfo2 requiring that external Android
    hardware buffers be bound to memory (internal merge request 3717).
  * Fix implicit valid usage statement generation script for handle
    parameters with `optional="false,true"` XML attributes (internal merge
    request 3753).

New Extensions:

  * `<<VK_EXT_robustness2>>`
  * `<<VK_QCOM_render_pass_shader_resolve>>`

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/5789d98a3fb3e02beb2f92aab5dd4b87d648cfc2

New extensions
- VK_EXT_robustness2
- VK_QCOM_render_pass_shader_resolve

JeGX

Quote
Change log for May 3, 2020 Vulkan 1.2.140 spec update:

  * Update release number to 140 for this update.

Github Issues:

  * Add `vk.xml` `noautovalidity` attribute to
    flink:vkCmdBindTransformFeedbackBuffersEXT::pname:pSizes to cause change
    in the generation of implicit valid usage statement for
    pname:bindingCount (public issue 1227).
  * Remove the special tokens (not part of the Vulkan API) suffixed with
    etext:*_BEGIN_RANGE etext:*_END_RANGE, and etext:*_RANGE_SIZE from the
    generated C headers, after consultation with downstream components and
    ISVs and advanced warning to the developer community (public issue 1230,
    internal issue 872).

    *Note* if you absolutely require these tokens for some reason, you can
    still build a version of the header which restores them. Edit
    `scripts/genvk.py` to add the parameter `genEnumBeginEndRange = True` to
    the `CGeneratorOptions` objects for the header file targets you want to
    restore. See the version of `genvk.py` in the 1.2.139 spec update for an
    example.
  * Add valid usage statement to slink:VkApplicationInfo requiring that
    pname:apiVersion be greater than or equal to dlink:VK_API_VERSION_1_0
    (public pull request 1252).
  * Add \<implicitexternsync> tags to `vk.xml` for flink:vkDestroyDevice
    slink:VkQueue objects received from pname:device (public pull request
    1255).
  * Fix typo in slink:VkBufferMemoryBarrier language (public pull request
    1257).

Internal Issues:

  * Automatically generate interface lists for extension appendices from
    `vk.xml` using a new interface generator script, and update the style
    guide's description of these appendices accordingly (internal issue
    977, internal merge request 3819).
  * Add transitive language to the <<formats-compatible-planes, Compatible
    formats of planes of multi-planar formats>> section to pull in format
    compatibility classes as well (internal issue 1615).
  * Add valid usage statements to ftext:vkCmdBuildAccelerationStructure*KHR,
    flink:vkCmdCopyAccelerationStructureToMemoryKHR, and
    flink:vkCmdCopyMemoryToAccelerationStructureKHR for structure builds
    bound to device memory (internal issue 2033).
  * Don't generate etext:*_MAX_ENUM values in documentation generators,
    since they're not part of the API, and only meaningful on compiled
    headers (internal issue 2056).
  * Remove special lifetime rules for pipelines in the
    <<fundamentals-objectmodel-lifetime-cmdbuffers>> section (internal issue
    2068).
  * Improve valid usage statements for ftext:vkCmdTraceRays*, share more
    common VUs between ftext:vkTraceRays*, and add ftext:vkCmdTracerays* VUs
    for bound buffers. Improve documentation for the
    pname:raygenShaderBindingOffset parameters and fork `NV` and `KHR` valid
    usage statements, since the shader binding table is described
    differently (internal issues 2075, 2136).
  * Clarify lifetime of acceleration structure build inputs for
    flink:vkCreateAccelerationStructureKHR (internal issue 2077).
  * Add a Note to the <<framebuffer-blending, Blending>> section to stop
    claiming that blending is ignored for all integer formats (internal
    issue 2098).
  * Mark handle parameters of some ftext:vkDestroy* commands as `optional`
    and `externsync="true"` in `vk.xml` (internal issue 2129).
  * Add missing `:refpage:` attributes for ray tracing common valid usage
    statements (internal issue 2141).
  * Redefine fragment to include the possibility of it covering multiple
    pixels. This affects many parts of the specification including the
    <<pipelines, Pipelines>>, <<primsrast, Rasterization>>, and <<fragops,
    Fragment Operations>> chapters, the `<<VK_EXT_post_depth_coverage>>`
    appendix, the `Coverage*` and `Sample Index` glossary entries, the
    code:SampleId and code:SampleMask definitions in the
    <<interfaces-builtin-variables, Built-In Variables>> section, and the
    <<shaders-fragment-execution, Fragment Shader Execution>>,
    <<shaders-fragment-earlytest, Early Fragment Tests>>, and
    <<textures-texel-coordinate-systems, Texel Coordinate Systems>> sections
    (internal merge request 3568).
  * Refactor `scripts/genvk.py` script to specify generator and generator
    options to the `Registry` object before loading XML. This allows
    generator options to influence behavior such as reparenting enum
    elements from feature/extension elmements to the enums they are being
    added to, which is desirable for generating complete feature lists for
    an extension or core version (internal merge request 3789).
  * Raise a fatal error (instead of a warning) in `scripts/generator.py`
    when two enumerants that are not aliased have the same value, so that CI
    will fail (internal merge request 3807).
  * Remove accidentally duplicated slink:VkSubpassDependency2 valid usage
    statement 03093 (internal merge request 3826).

New Extensions:

  * `<<VK_EXT_private_data>>`
  * `<<VK_EXT_custom_border_color>>`

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/cc5a1ec67405bab282fb037b065a88e0afcf3483

New extensions:
- VK_EXT_private_data
Quote
The 'VK_EXT_private_data' extension is a device extension which enables
attaching arbitrary payloads to Vulkan objects.
It introduces the idea of private data slots as a means of storing a 64-bit
unsigned integer of application defined data.
Private data slots can be created or destroyed any time an associated device
is available.


- VK_EXT_custom_border_color
Quote
This extension provides cross-vendor functionality to specify a custom
border color for use when the sampler address mode
ename:VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER is used.

JeGX

Quote
Change log for May 15, 2020 Vulkan 1.2.141 spec update:

  * Update release number to 141 for this update.
  * *Note*: Using the default build options, specification outputs will now
    be created in `gen/out/` instead of `out/`, and header files will be
    created in `gen/include/vulkan` instead of `include/vulkan`. This can be
    overridden using the `-genpath` option to the frontend scripts like
    `makeAllExts` and `makeSpec`, or by specifying `GENERATED=*path*` on the
    make command line when invoking it directly.

Github Issues:

  * Assign new elink:VkDriverId and elink:VkVendorId enums for Mesa (public
    issue 1256).

Internal Issues:

  * Fix a typo in the <<fragops-stencil, Stencil Test>> section, removing a
    sentence fragment accidentally left over from an earlier merge conflict
    resolution (internal issue 2158).
  * Typo fixes for flink:vkGetRayTracingShaderGroupHandlesKHR and
    flink:vkGetRayTracingCaptureReplayShaderGroupHandlesKHR valid usage
    statements (internal merge request 3831).
  * Add a `requiredBy` dictionary to the generated `vkapi.py` showing which
    core versions or extensions require each API (internal merge request
    3832).
  * Allow specifying multiple API names for and tags in registry processing
    scripts. Update the registry schema documentation accordingly, and
    remove the redundant `xml_supported_name_of_api` method from the
    VulkanConventions object (internal merge request 3836).
  * Consolidate generated intermediate files and output documents into
    $(GENERATED) directory, add -genpath option to scripts requiring them,
    and modify Makefile accordingly. Add a new `makeSpec` script which
    combines and extends the functionality of the `makeExt`, `makeKHR`, and
    `makeAllExts` scripts (internal merge requests 3837, 3838, 3840, 3841).
  * Add "`runtime`" to style guide and use that spelling consistently
    (internal merge request 3843).

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/8bd1271c25ec56248494389b0cc2b6741cb28164

Stefan

QuoteChange log for June 1, 2020 Vulkan 1.2.142 spec update:

  * Update release number to 142 for this update.

Github Issues:

  * Add boilerplate descriptions of reserved bitmask types (public pull
    request 1265).
  * Move dynamic state valid usage statements from
    slink:VkPipelineViewportExclusiveScissorStateCreateInfoNV and
    VkPipelineViewportShadingRateImageStateCreateInfoNV to
    slink:VkGraphicsPipelineCreateInfo, where they are testable, and make
    corresponding tweaks in `vk.xml` (public pull request 1268).
  * Add missing flink:vkDestroyPrivateDataSlotEXT explicit valid usage
    statement (public pull request 1269).
  * Cast arguments of dlink:VK_MAKE_VERSION macro to code:uint32_t to avoid
    compiler warnings (public pull request 1279).

Internal Issues:

  * Update <<fundamentals-validusage-pNext, description of pname:pNext
    chains>> to allow structures in the chain to be defined by either core
    versions or extensions. Add the new term "`extending structure`" to the
    glossary to describe such structures, and use it in place of "`extension
    structure`". Update the style guide accordingly (internal issue 1083).
  * Add a comment to the beginning of generated API includes showing which
    combinations of API core versions and extensions provide that API, based
    on the explicit requirements in the API XML. This does not yet document
    enumerants introduced by extending a base enum type (internal issue
    1431).
  * Relax the restriction that slink:VkBufferImageCopy::pname:bufferOffset
    must be a multiple of 4 for flink:vkCmdCopyBufferToImage and
    flink:vkCmdCopyImageToBuffer when run on graphics or compute queues, but
    not on transfer queues (internal issue 1701).
  * Document the types of "`special use`" extensions in the new
    <<extendingvulkan-compatibility-specialuse, Special Use Extensions>>
    section, summarize special uses in the generated metadata for extension
    appendices, and link back to the new section from each special use
    extension (internal issue 1938).
  * Clarify behavior of flink:vkGetDeferredOperationMaxConcurrencyKHR,
    allowing it to return zero for competed operations (internal issue 2036).
  * Allow flink:vkGetInstanceProcAddr to resolve itself with a `NULL`
    pname:instance (internal issue 2057).
  * Modify the valid usage statement ID assignment script to track a range
    of unused IDs for each extension branch under development, instead of
    only allowing VUID assignment in `master` and `devel` branches (internal
    issue 2100).
  * Add `selector` and `selection` attributes for unions in XML, to enable
    automatic generation of validation code (internal issue 2140).
  * Fix validity generator for stext:Vk*Flags types that are aliases,
    correcting generation of implicit valid usage for
    slink:VkAccelerationStructureInfoNV::pname:flags. Remove
    `noautovalidity` attribute for this member, as well as the previously
    written explicit valid usage (internal issue 2140).
  * Fix description of slink:VkTextureLODGatherFormatPropertiesAMD (internal
    issue 2189).
  * Remove redundant text about variables being explicitly laid out in the
    <<interfaces-resources-layout, Offset and Stride Assignment>> section
    (internal merge request 3691).
  * Fix conflicting slink:VkSamplerYcbcrConversionCreateInfo valid usage
    statements (internal merge request 3716).
  * Fix use of code:AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT to
    code:AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER in valid usage statement
    02386 for slink:VkMemoryAllocateInfo (internal merge request 3808).
  * Add missing `externsync` XML attributes for ftext:vkCmd* commands
    (internal merge request 3825).
  * Add missing `extends` attribute to
    slink:VkDevicePrivateDataCreateInfoEXT XML (internal merge request
    3834).
  * Add code:RayGeometryIndexKHR to the `<<VK_KHR_ray_tracing>>` list of
    built-in variables (internal merge request 3853).
  * Restrict slink:VkBufferViewCreateInfo with ename:VK_WHOLE_SIZE, and
    round down results of division in calculating the test in the
    corresponding valid usage statements (internal merge request 3858).
  * Miscellaneous cleanup and reorganization of synchronization language in
    multiple places, and add the
    <<synchronization-image-barrier-layout-transition-order>> section
    (internal merge request 3861).
  * Redefine ename:VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT and
    ename:VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT as pseudo-stages in multiple
    places (internal merge request 3862).
  * Reorganize some valid usage statements, especially but not limited to
    stage mask parameters for slink:VkImageMemoryBarrier,
    slink:VkPipelineStageFlags, flink:vkCmdPipelineBarrier,
    flink:vkCmdResetEvent, flink:vkCmdSetEvent, flink:vkCmdWaitEvents,
    flink:vkCmdWriteBufferMarkerAMD, and flink:vkCmdWriteTimestamp as common
    valid usage statements, for future-proofing (internal merge requests
    3864, 3865, 3866, 3867, 3868).

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/dd7b521af03ed3ce13b7d2a54c4542f5af7cf370

Stefan

QuoteChange log for June 8, 2020 Vulkan 1.2.143 spec update:

  * Update release number to 143 for this update.
  * Reorganize some valid usage statements for slink:VkBufferMemoryBarrier,
    and for commands with elink:VkPipelineStageFlags parameters, as common
    valid usage statements, for future-proofing (internal merge requests
    3863, 3867).

Github Issues:

  * Move `translate_math.js` to the `scripts/` directory (public pull
    request 1286).
  * Minor cleanup of math markup (public pull request 1287).

Internal Issues:

  * Misc. licensing updates (internal issue 1017):
  ** Replace the "`Exceptions`" clause on `vk.xml` with a dual Apache-2.0 OR
     MIT license, with agreement of downstream developers known to be
     affected by it. This enables use of `vk.xml` in GPLed projects under a
     more widely used licensing scheme.
  ** Use `SPDX-License-Identifier` tags in place of longer license text.
     This does not change the license terms on files other than `vk.xml`,
     but makes license statements in most files more compact.
  ** Reorganize repository documentation (README.adoc, COPYING.adoc,
     LICENSE.adoc, CONTRIBUTING.adoc, CODE_OF_CONDUCT.adoc, and BUILD.adoc)
     with a more widely used split of information; make all of these files
     Asciidoctor instead of Markdown format for consistency with the rest of
     the repository; describe use of SPDX identifiers; and point to full
     license text of the various OSS licenses used in the repository.
  * Add new <<resources-image-views-identity-mappings, text describing the
    identity swizzle>> incorporating the existing "`Component Mappings
    Equivalent To ename:VK_COMPONENT_SWIZZLE_IDENTITY`" table, and refer to
    this text in place of explicit references to
    ename:VK_COMPONENT_SWIZZLE_IDENTITY in many places (internal merge
    request 3399).
  * Require code:storageBuffer16BitAccess capability if
    `<<VK_KHR_16bit_storage>>` is enabled (internal merge request 3709).
  * Added XML schema and generator script extensions to support 64-bit flags
    and corresponding bitmasks (internal merge request 3718).
  * Correct <<interfaces-resources-standard-layout, Standard Buffer Layout>>
    alignment rules (internal merge request 3750).
  * Relax non-strict line constraints in the <<primsrast-lines-basic>> and
    <<primsrast-lines-bresenham>> sections (internal merge request 3792).
  * Add missing `structextends` attribute to the
    slink:VkPhysicalDevicePrivateDataFeaturesEXT definition in `vk.xml`
    (internal merge request 3873).
  * Move slink:VkImageFormatListCreateInfo valid usage statements to
    flink:vkCreateImageView (internal merge request 3879).
  * Update valid usage statements for slink:VkImageViewASTCDecodeModeEXT to
    allow ASTC HDR formats (internal merge request 3881).
  * Add missing extension dependency to
    `<<VK_KHR_pipeline_executable_properties>>` definition in `vk.xml`
    (internal merge request 3882).
  * Require the <<features-customBorderColors>> feature be enabled when
    using etext:VK_BORDER_COLOR_* in slink:VkSamplerCreateInfo (internal
    merge request 3884).

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/f6a10a5af095938e2a6ac8581b7f848a4b324f46

Stefan

QuoteChange log for June 8, 2020 Vulkan 1.2.144 spec update:

  * Update release number to 144 for this update.

Internal Issues:

  * Require `volatile` semantics for loading <<builtin-volatile-semantics,
    certain variables used in ray pipeline stages>> in the
    <<spirvenv-module-validation, Validation Rules within a Module>> and
    also the <<ray-tracing-shader-call, Shader Call Instructions>> section
    (internal issue 1924).
  * Created new <<potential-format-features, Potential Format Features>>
    section and corresponding glossary term, use the new term where
    appropriate, and add some related valid usage statements to
    flink:vkCmdBeginRenderPass, flink:vkCmdBeginRenderPass2,
    slink:VkSubpassDescription, and slink:VkSubpassDescription2 (internal
    issue 2031).
  * Add interaction with `<<VK_KHR_ray_tracing>>` and corresponding `NV`
    extension to flink:vkUpdateDescriptorSetWithTemplate (internal issue
    2193).
  * Resolve collisions in common VUID names using `{stageMaskName}`
    qualifiers as part of the name and make fixes to
    `config/vu-to-json/extension.rb` to match (internal issue 2215).
  * Replace `shutil.move` operations with `copy` / `remove` in the base
    `generator.py` code, working around a problem with bind mounts while
    using the Khronos docker build image with `podman` instead of `docker`
    (internal merge request 3872).
  * Add a new <<spirvenv-extensions, SPIR-V Extensions>> subsection
    containing a table showing the corresponding Vulkan extension or core
    API required to support each of the SPIR-V extensions, replacing a
    harder-to-read list of extensions (internal merge request 3876).
  * Remove two redundant valid usage statements from flik:vkCmdResolveImage
    (internal merge request 3878).
  * Make repository REUSE-compliant, and run the `reuse` license checker as
    part of internal CI. While most files now have SPDX license identifier
    tags, some licenses are recorded in `.reuse/dep5` instead. Note that
    this does not change licenses in the repository (aside from adding some
    to files missing them), just insures that every file *has* an explicit
    license (internal merge request 3904).
  * Clarify that code:ImageMSArray is supported as part of the
    <<features-shaderStorageImageMultisample>> feature (internal merge
    request 3905).
  * Reorganize some valid usage statements for flink:vkCmdBlitImage,
    flink:vkCmdCopyBuffer, flink:vkCmdCopyBufferToImage,
    flink:vkCmdCopyImage, flink:vkCmdCopyImageToBuffer, and
    flink:vkCmdResolveImage as common valid usage statements, for
    future-proofing (internal merge requests 3906, 3907, 3908, 3909, 3910).
  * Add two valid usage statements to flink:vkAllocateMemory and
    flink:vkCreateSampler for allocation limits of slink:VkDeviceMemory and
    elink:VkSamplers, respectively (internal merge request 3923).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/9d84b7e4992f764224b9d64a61105123a0860967

Stefan

QuoteChange log for June 20, 2020 Vulkan 1.2.145 spec update:

  * Update release number to 145 for this update.

Github Issues:

  * Fix `<<VK_EXT_conservative_rasterization>>` interactions with external
    SPIR-V and GLSL functionality in the extension appendix (public issue
    1288).

Internal Issues:

  * Break SPIR-V validation into two sections,
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    and <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    (internal issue 1598).
  * Add VkFormat enums for ASTC 3D formats to `vk.xml`. These values are
    slotted into the reserved, and still disabled extension 289. They will
    not appear in the published `vulkan_core.h` header and there is no
    published extension utilizing them, but this allows external projects
    such as KTX2 to use these values as part of their internal cross-API
    formats by generating a header including this disabled extension
    (internal merge requests 1662, 2216).
  * Synchronize that shader binding table accesses from ray tracing
    pipelines should be synchronized with the
    ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR pipeline stage and an
    access mask of ename:VK_ACCESS_SHADER_READ_BIT (internal issue 1749).
  * Validate that 3D image views are not used as attachments in
    slink:VkFramebufferCreateInfo and slink:VkRenderPassAttachmentBeginInfo
    (internal issue 2142).
  * Increase the number of conditions recognized as build errors by the
    valid usage extraction plugin (internal issue 2215).
  * Relax slink:VkImportAndroidHardwareBufferInfoANDROID valid usage
    statement 01881 to support external formats (internal issue 2220).
  * Clearly define what "`optional capabilities`" means in the
    <<spirvenv-capabilities, Capabilities>> section, and specify that if
    *any* of the required core versions and/or extensions for a capability
    is enabled, then it is valid to use that capability (internal merge
    request 3827).
  * Add ename:VK_FORMAT_B5G5R5_UNORM_PACK16 and
    ename:VK_FORMAT_B5G5R5A1_UNORM_PACK16 to
    `<<VK_EXT_custom_border_color>>` as exceptions when
    <features-customBorderColorWithoutFormat>> is enabled (internal merge
    request 3833).
  * Add new <<spirvenv-format-type-matching, Image Format and Type
    Matching>> section and refer to it from elsewhere in the spec,
    clarifying rules regarding types for image operations (internal merge
    request 3916).
  * Fix typo sname:VkImageFormatProperties -> slink:VkFormatProperties
    (internal merge request 3921).
  * Move <<sparsememory-examples, sparse image examples>> to the Vulkan
    Guide (internal merge request 3930).
  * Fix typo in slink:VkAccelerationStructureBuildOffsetInfoKHR valid usage
    statement 03553 (internal merge request 3938).
  * Support <remove> tags for extending enumerants in XML (internal merge
    request 3942).

New Extensions:

  * `<<VK_EXT_extended_dynamic_state>>`
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/1e4e9cad5c761f05463ab65aa95e38b0dac534bc

Stefan

QuoteChange log for July 3, 2020 Vulkan 1.2.146 spec update:

  * Update release number to 146 for this update.

Github Issues:

  * Fix valid usage generation script for optional bitmasks in a
    non-optional array (public pull request 1228).
  * Add lunr to `package.json` and update the locally cached copy (public
    pull request 1238).
  * Require that newly released extensions have etext:*_SPEC_VERSION `1`
    (public issue 1263).
  * Add to the NOTE in slink:VkPhysicalDeviceIDProperties, advising
    implementations on returning unique pname:deviceUUID values and avoiding
    hardwired values, especially 0 (public issue 1273).
  * Add noscript fallback for HTML output (public pull request 1289).
  * Fix duplicated VUIDs in flink:vkCmdExecuteGeneratedCommandsNV (public
    pull request 1304).
  * Fix link markup in <<ray-traversal, Ray Traversal>> chapter, nested link
    markup, and linear equation markup in
    <<textures-unnormalized-to-integer>> (public pull requests 1305, 1306,
    1307).

Internal Issues:

  * Add comments to extending enums in the generated API interfaces showing
    which core version and/or extensions provide the enum, matching recent
    changes to show this information for commands and structures (internal
    issue 1431).
  * Only allow code:Invocation memory scope in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section when memory semantics is *None* (internal issue 1782).
  * Make reflow script handle literal block delimiters and lines containing
    only whitespace properly (internal issues 2039, 2042).
  * Clarify definition of <<limits-maxFragmentCombinedOutputResources,
    pname:maxFragmentCombinedOutputResources>> (internal issue 2236).
  * Add missing `errorcodes=` XML attributes for some
    `<<VK_EXT_display_control>>` commands.
  * Clarify <<features-extentperimagetype, allowed extent values based on
    image type>> and the related <<limits-maxImageDimension1D>>,
    <<limits-maxImageDimension2D>>, <<limits-maxImageDimension3D>>,
    <<limits-maxImageDimensionCube>> limits (internal merge request 3922).
  * Remove redundant valid usage statement
    VUID-VkFramebufferCreateInfo-flags-03188 (internal merge request 3934).
  * Update style guide to recommend new extension spec language be contained
    in existing asciidoctor files, unless it's of enough scope to create a
    and new chapter (internal merge request 3955).

New Extensions:

  * `<<VK_EXT_directfb_surface>>` (public pull requests 1292, 1294).
  * `<<VK_EXT_fragment_density_map2>>` (internal merge request 3914).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/cab7ffaa12bcdb972ba8245fb6a99d402c1fa916

Stefan

QuoteChange log for July 13, 2020 Vulkan 1.2.147 spec update:

  * Update release number to 147 for this update.

Github Issues:

  * Allow physical-device-level structures in pname:pNext chains (public
    merge request 1303).
  * Remove elink:VkRenderPassCreateFlags from dependencies of
    `<<VK_QCOM_render_pass_transform>>` (public merge request 1311)

Internal Issues:

  * Require that variables with code:HitAttributeKHR storage class must:
    <<spirvenv-module-validation-standalone, only be written in intersection
    shaders>> (internal issue 2103).
  * Specify that acceleration structure scratch buffer accesses from
    acceleration structure build should be synchronized with the
    ename:VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
    stage and an access mask of
    ename:VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or
    ename:VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR (internal issue
    2173).
  * Improve description of 3D blitting in flink:vkCmdBlitImage (internal
    issue 2212).
  * Split <<fragops-coverage-reduction, Coverage Reduction>> section into
    multiple steps when multi-pixel fragments are involved: first per-pixel
    coverage is separated out, then per-sample coverage is generated for
    each color sample from per-pixel coverage. dditionally, the definition
    of "`color sample mask`" and discussions of it have been removed in
    favour of the per-color-sample coverage. (internal merge request 3951).
  * Modify slink:VkSamplerYcbcrConversionCreateInfo valid usage statements,
    as well as the <<textures-chroma-reconstruction, Chroma Reconstruction>>
    section, to make it clear the values of pname:xChromaOffset and
    pname:yChromaOffset are only validated when chroma channels are
    downsampled (internal merge request 3959).
  * Allow flink:vkGetBufferMemoryRequrements and
    flink:vkGetBufferMemoryRequrements2 to be called for an Android Hardware
    Buffer backed slink:VkBuffer, before it is been bound to memory
    (internal merge request 3982).
  * Remove *Draft* status from `<<VK_EXT_private_data>>` (internal merge
    request 3982).
  * Move valid usage statement from slink:VkProtectedSubmitInfo to
    slink:VkSubmitInfo (internal merge request 3987).
  * Add valid usage statements for protected buffers to
    slink:VkBindBufferMemoryInfo and slink:VkBindImageMemoryInfo
    (internal merge request 3988).
  * Add valid usage statement to slink:VkImageCreateInfo requiring that
    images with linear tiling cannot have sparse residency (internal merge
    request 3988).
  * Clarify that the ptext:maxPerStageDesciptorUpdateAfterBind*
    <<limits-required, Required Limits>> must be at least the corresponding
    non- ptext:UpdateAfterBind limits (internal merge request 3992).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/ca63a59cc3803c95e9ce67bac3a2ee3bbcba34d1

Stefan

QuoteChange log for July 19, 2020 Vulkan 1.2.148 spec update:

  * Update release number to 148 for this update.

Github Issues:

  * Move description of slink:VkPhysicalDevicePerformanceQueryFeaturesKHR to
    the <<features>> chapter (public merge request 1312).
  * Fix a few broken internal and external links, and add stub description
    of empty elink:VkPipelineCompilerControlFlagsAMD type (public merge
    request 1313).

Internal Issues:

  * Fix a few new places where "`undefined`" was used imprecisely, by
    clarifying the difference between undefined results and undefined
    behavior (internal issue 543).
  * Add valid usage statement to common indirect draw valid usage statements
    requiring that the pname:countBufferOffset to the count being used lie
    within the pname:countBuffer (internal issue 1309).
  * Add <<interfaces-raypipeline, Ray Tracing Pipeline Interface>> section
    (internal issues 2094, 2237).
  * Add valid usage statement to flink:vkCmdBeginTransformFeedbackEXT to
    require that the last vertex processing stage of the bound graphics
    pipeline be declared with the code:Xfb execution mode (internal issue
    2124).
  * Do not allow flink:vkWaitForFences or flink:kWaitSemaphores to return
    timeouts before the period has expired, even though this is valid in
    some other synchronisation APIs (internal issue 2146).
  * Add elink:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT as an alias
    of elink:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT for clarity
    when interacting with D3D11 fences (internal issue 2175).
  * Ignore slink:VkMemoryAllocateInfo::pname:allocationSize when importing
    D3D resources (internal issue 2176).
  * Clarify the definition of flink:vkCmdBindVertexBuffers2EXT::pname:pSizes
    (internal issue 2262).
  * Fix markup error in slink:VkDescriptorSetLayoutBindingFlagsCreateInfo
    (internal merge request 3998).
  * Remove un-needed dependency of `<<VK_EXT_filter_cubic>>` on
    `<<VK_IMG_filter_cubic>>` (internal merge request 4000).
  * Minor textual clarifications in ray tracing extensions (internal merge
    request 4017).
  * Modify the validity generator so that, when generating valid usage for
    array lengths with a chain of parameters (e.g. pname:pFoo->bar), don'
    non-zero values are not required if any parameter in the chain is
    optional, and consider the last parameter only when deciding the type of
    the parameter (internal merge request 4021).
  * Fix a typo in the `<<VK_EXT_fragment_density_map2>>` extension appendix
    markup that caused refpage build warnings, and modify CI and
    `BUILD.adoc` to use `makeSpec` instead of the old `makeAllExts` script
    (internal merge request 4023).

New Extensions:

  * `<<VK_EXT_image_robustness>>`
  * `<<VK_EXT_shader_atomic_float>>`
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/3c1ca55f2e0b4b9423cf9c0b30400b1a4d61c5d1

Stefan

QuoteChange log for August 3, 2020 Vulkan 1.2.149 spec update:

  * Update release number to 149 for this update.

Github Issues:

  * Fix valid usage statements to clarify interactions between
    `<<VK_EXT_extended_dynamic_state>>` and the old viewport related
    extensions `<<VK_NV_clip_space_w_scaling>>`,
    `<<VK_NV_shading_rate_image>>` (for the palettes),
    `<<VK_NV_viewport_swizzle>>`, and `<<VK_NV_scissor_exclusive>>` (public
    issue 1296).

Internal Issues:

  * Clarify wording around non-uniform and non-constant descriptor access in
    <<interfaces-resources-descset, Descriptor Set Interface>> (internal
    issue 2163).
  * Add a missing code:StorageBuffer reference in the <<interface-resources,
    Shader Resource Interface>> section (internal issue 2191).
  * Refactor common valid usage statements for flink:vkBindBufferMemory,
    slink:VkBindBufferMemoryInfo, flink:vkBindImageMemory, and
    slink:VkBindImageMemoryInfo (internal issue 2260).
  * Copy over import/export behavior for sync file descriptor value `-1`
    from slink:VkImportFenceFdInfoKHR to slink:VkImportSemaphoreFdInfoKHR
    (internal issue 2274).
  * State that a deriviative group is a quad scope instance in the
    <<shaders-derivative-operations, Derivative Operations>> section
    (internal merge request 4025)

New Extensions:

  * `<<VK_EXT_4444_formats>>`
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/7c18dc68a98f4145ea730b764b0f1c4bf596e5ee

JeGX

Quote
Change log for August 10, 2020 Vulkan 1.2.150 spec update:

  * Update release number to 150 for this update.

Github Issues:

  * Remove ename:VK_ERROR_TOO_MANY_OBJECTS as a required error code for
    flink:vkAllocateMemory and and flink:vkCreateSampler, and note that
    while it may still occur as a historical artifact, exceeding
    implementation limits will result in undefined behavior (public issue
    1295).
  * Allow duplicate slink:VkDebugUtilsMessengerCreateInfoEXT structs in
    pname:pNext chain (public issue 1329)
  * Fix typo in slink:VkSubmitInfo valid usage statement 04120 (public merge
    request 1336).
  * Remove `KHR` suffix from some names promoted to core, in the
    <<renderpass, Render Pass>> chapter (public merge request 1341).

Internal Issues:

  * Add ename:VK_ERROR_OUT_OF_HOST_MEMORY to `vk.xml` as a possible error
    code for some additional commands returing elink:VkResult, and add a
    note to the description of elink:VkResult giving some guidance on which
    commands may and may not return that error code (internal issue 2063).
  * Make a handful of terminology changes which move this repository closer
    to the conventions of the AOSP
    https://source.android.com/setup/contribute/respectful-code[Coding with
    Respect] document (internal issue 2282).
  * Update `<<VK_MVK_ios_surface>>` and `<<VK_MVK_macos_surface>>`
    documentation and mark them as deprecated and replaced by
    `<<VK_EXT_metal_surface>>` (internal merge request 4024).
  * Add a section to the style guide on markup for the copyright and license
    block on files in the repository (internal merge request 4036).
  * Add ename:VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT to
    `<<VK_EXT_validation_features>>` to enable synchronization validation
    (internal merge request 4037).

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/792c6d18f64b73463a2023cf7610a694c11e5bd2

Stefan

QuoteChange log for August 17, 2020 Vulkan 1.2.151 spec update:

  * Update release number to 151 for this update.

Github Issues:

  * Clarify that the <<memory-protected-memory,Protected Memory>> is not
    cross-physical device (public issue 1335).

Internal Issues:

  * Improve the layout of the <<Standard sample locations>> table to avoid
    overflow in the HTML output (internal issue 1354).
  * Also build core-only HTML spec in internal CI, to try and catch
    extension ifdef errors (should probably also do this in Azure CI on
    github) (internal issue 1770).
  * Add internal CI test for un-tagged uses of "`undefined`", to help make
    sure we've carefully considered all such uses (internal issue 2270).
  * Add style guide section "`Commands which Return Error Codes`" to give
    guidance on assigning error codes and when to use
    ename:VK_ERROR_OUT_OF_HOST_MEMORY (internal issue 2290).
  * Use the term "`reference monitor`" instead of "`mastering display`" for
    the `<<VK_EXT_hdr_metadata>>` extension (internal issue 2291).
  * Explicitly state that SPIR-V modules must be valid after specialization
    in slink:VkPipelineShaderStageCreateInfo and the
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    section (internal issue 2302).
  * Add slink:VkShaderModuleCreateInfo valid usage statements to match the
    SPIR-V capabilities (internal merge request 4047).
  * Add missing features to the <<[spirvenv-module-validation-runtime,
    Runtime SPIR-V Validation>> section (internal merge request 4048).
  * Update slink:VkPhysicalDeviceVulkan11Properties to follow the same
    renaming of "`subgroups`" to "`groups`" previously done for
    slink:VkPhysicalDeviceSubgroupProperties (internal merge request 4050).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/68bedacc6014941d5c04d168ef62df82031e0ddc

JeGX

Quote
Change log for August 26, 2020 Vulkan 1.2.152 spec update:

  * Update release number to 152 for this update.

Github Issues:

  * Add attachment image layout valid usage statements for
    slink:VkSubpassDescription and slink:VkSubpassDescription2 (public issue
    1316).
  * Clarify and generalize use of "`graphics commands`" in the
    <<descriptorsets>> and <<pipelines>> chapters (public issue 1322).
  * Fix description of handle returned in slink:VkDeviceQueueInfo2 (public
    pull request 1347).

Internal Issues:

  * Promote valid usage statements requiring multiple parameters of a copy
    command from the structure parameter descriptions to the command itself,
    significantly restructuring some of the common validity files (internal
    issue 2034).
  * Add details of clamping and quantization behavior for border colors that
    are outside the normal range for slink:VkSamplerCreateInfo and in the
    <<textures-operation-validation, Instruction/Sampler/Image View
    Validation>> and <<textures-texel-replacement, Texel Replacement>>
    sections (internal issue 2281).
  * Clarify in the <<spirvenv-module-validation-standalone, Standalone
    SPIR-V Validation>> section that the value of code:XfbBuffer cannot
    differ for members of the same block (internal issue 2307).
  * Add valid usage blocks to the <<interfaces>> chapter where discussing
    allowed uses of built-in SPIR-V variables (internal merge requests 3933,
    4090).
  * Refactor <<spirvenv-module-validation-standalone, Standalone SPIR-V
    Validation>> constraints to single statement phrases not using ifdef::ed
    asciidoctor markup, and move some of them down to the
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    section (internal merge request 4054).
  * Fix XML attributes for some `<<VK_INTEL_performance_query>>` interfaces
    (internal merge request 4061).
  * Fix the "`Differences relative to `VK_KHR_shader_float16_int8``"
    paragraph in the <<versions-1.2, Version 1.2>> appendix (internal merge
    request 4062).
  * Fix several valid usage statements for
    flink:vkCmdBindTransformFeedbackBuffersEXT (public
    KhronosGroup/Vulkan-ValidationLayers issue 2105).
  * Clarify `shader_read_only` layout restrictions for
    slink:VkWriteDescriptorSet and elink:VkImageLayout (internal merge
    request 4060).
  * Clarify wording for required 4444 and {YCbCr} formats in the
    <<formats-mandatory-features-subbyte, Mandatory format support: sub-byte
    channels>> and <<formats-requiring-sampler-ycbcr-conversion, Formats
    requiring sampler {YCbCr} conversion for ename:VK_IMAGE_ASPECT_COLOR_BIT
    image views>> tables (internal merge request 4066).
  * Move a feature valid usage statement from flink:vkCmdDrawIndexedIndirect
    to its proper home in flink:vkCmdDrawIndexedIndirectCount, matching what
    the validation layer already does (internal merge request 4070).
  * Split valid usage statement for slink:VkWriteDescriptorSet into one
    statement for each descriptor type for image layout requirements
    (internal merge request 4071).
  * Add the a <<valid-imageview-imageusage>> definition to capture which
    elink:VkImageUsageFlagBits must be set when creating a
    sname:VkImageView, and use that definition to simplify
    slink:VkImageViewCreateInfo valid usage statements (internal merge
    request 4073).
  * Remove redundant valid usage statement 03269 for slink:VkPresentInfoKHR
    (internal merge request 4084).
  * Move valid usage statement from slink:VkProtectedSubmitInfo to
    slink:VkSubmitInfo (internal merge request 4085).
  * Update reference to pname:framebufferIntegerColorSampleCounts from the
    description of the <<limits-framebufferColorSampleCounts>> feature if
    Vulkan 1.2 is supported (internal merge request 4088).

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/d1c48f98006030079846dc05f00bd1ca3d4758e9

JeGX

Quote
Change log for September 7, 2020 Vulkan 1.2.153 spec update:

  * Update release number to 153 for this update.

Github Issues:

  * Specification default branch for updates and PRs is now `main` instead
    of `master`. `master` branch still exists, but is frozen at the 1.2.152
    level. If you are pulling content from this repository, please switch
    from `master` to `main` branch (internal issue 1351).
  * Fix slink:VkSubpassDependency2 link from slink:VkRenderPassCreateInfo2
    (public issue 1358).

Internal Issues:

  * Add developer documentation to the appendices for
    `<<VK_EXT_memory_budget>>`, `<<VK_KHR_buffer_device_address>>`,
    `<<VK_KHR_depth_stencil_resolve>>`, `<<VK_KHR_draw_indirect_count>>`,
    `<<VK_KHR_multiview>>`, `<<VK_KHR_sampler_ycbcr_conversion>>` (internal
    issue 2109).
  * Implement VUID expander treeprocessor plugin to make VUID text visible
    and searchable in generated outputs (internal issue 2253, 2258).
  * Clarify when acceleration structures can be indexed dynamically in the
    <<interfaces-resources-descset, Descriptor Set Interface>> section
    (internal issue 2316).
  * Add missing valid usage statement for flink:vkImportFenceWin32HandleKHR
    (internal merge request 4087).
  * Replace badly formatted VUID for `<<VK_AMD_display_native_hdr>>`
    (internal merge request 4096).
  * Add ray tracing acceleration structures to the lists of objects where
    appropriate in the <<fundamentals-objectmodel-lifetime, Object
    Lifetime>> section (internal merge request 4100).
  * Move GLSL and SPIR-V extension references in the extension appendices
    into the "`Interactions and External Dependencies`" sections (internal
    merge request 3969).

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/72254079510ec0616b711a570d83a6f1476ebc97

JeGX

Quote
Change log for September 21, 2020 Vulkan 1.2.154 spec update:

  * Update release number to 154 for this update.

Internal Issues:

  * Add a new subsection to the <<introduction-conventions, Document
    Conventions>> section describing how Informative language is tagged, for
    consistency with the spec copyright language, and update the
    <<markup-informative-notes, Informative Sections and Notes>> section of
    the style guide to track actual usage in the spec (internal issue 2195).
  * Clarify that the Top-Level Acceleration Structure keeps a reference to
    the Bottom-Level Acceleration Structures (internal issue 2313).
  * Add a few missing valid usage statements to
    flink:vkGetImageSubresourceLayout (internal merge request 4075).
  * Move the definition of elink:VkCullModeFlagBits in `vk.xml` to group
    with other bitmask types (internal merge request 4106).
  * Clean up a few valid usage statements for slink:VkImageView (internal
    merge request 4115).

New Extensions:

  * `<<VK_KHR_copy_commands2>>`
  * `<<VK_KHR_portability_subset>>`

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/5c8259673b722a86525f5a9dbee1ffd92371656b

Extensions:
- VK_KHR_copy_commands2
- VK_KHR_portability_subset

JeGX

Quote
Change log for September 28, 2020 Vulkan 1.2.155 spec update:

  * Update release number to 155 for this update.

New Extensions:

  * `<<VK_EXT_shader_image_atomic_int64>>`

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/2ffe5b06dd338347636c961399eaca384b864d60

New Extension:
- VK_EXT_shader_image_atomic_int64

Stefan

QuoteChange log for October 5, 2020 Vulkan 1.2.156 spec update:

  * Update release number to 156 for this update.

Github Issues:

  * Define memory import/export using the glossary term _payload_, rather
    than "`the same underlying memory`", for slink:VkFence,
    <<synchronization-semaphores-payloads, the semaphore payload section>>,
    and many places in the <<memory, Memory Allocation>> chapter (public
    issue 1145).

New Extensions:

  * `<<VK_EXT_device_memory_report>>`
Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/cee0f4b12acde766e64d0d038b03458c74bb67f1

Stefan

QuoteChange log for October 12, 2020 Vulkan 1.2.157 spec update:

  * Update release number to 157 for this update.

Github Issues:

  * Fix `<<VK_KHR_shader_draw_parameters>>` missing as a feature alias
    (based on public pull request 1310).
  * Remove unnecessary sentence about device extensions implemented by
    layers in the flink:vkCreateDevice description (based on public pull
    request 1350).
  * Fix parenthesis in equation in the
    <<textures-texel-anisotropic-filtering, Texel Anisotropic Filtering>>
    section (public merge request 1365).
  * Add missing types to `vk.xml` for `<<VK_EXT_device_memory_report>>`
    (public issue 1374).
  * Add slink:VkBufferImageCopy valid usage statement for
    ename:VK_IMAGE_ASPECT_DEPTH_BIT and ename:VK_IMAGE_ASPECT_STENCIL_BIT
    pname:aspectMask values (public issue 2113).

Internal Issues:

  * Remove unused etext:VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT
    token
    (internal issue 2275).
  * Clarify the specific stage requirement for synchronization
    between flink:vkCmdResetEvent and flink:vkCmdWaitEvents
    (internal merge request 4152).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/fa50015cb517fc3105ffdab1fc055e322a682265

JeGX

Quote
Change log for October 19, 2020 Vulkan 1.2.158 spec update:

  * Update release number to 158 for this update.

Internal Issues:

  * Clarify that  linear filtering can be used with comparison sampling
    in valid usage statements for dispatched draw commands
    (internal issue 2365).
  * Add valid usage statement for flink:vkGetQueryPoolResults requiring
    pname:stride to be large enough for a single performance query result
    (internal issue 2380).
  * Move input attachment imageLayout to valid usage reference section,
    and refer to the <<attachment-type-imagelayout>> section
    to reduce complexity of valid usage statement
    (internal merge request 4117).
  * Update issues list for `<<VK_QCOM_render_pass_transform>>`
    (internal merge request 4175).
  * Add valid usage statement for
    slink:VkPipelineColorBlendStateCreateInfo::pname:attachmentCount (public
    Vulkan-ValidationLayers issue 2197).

New Extensions:

  * `<<VK_KHR_fragment_shading_rate>>`
  * `<<VK_KHR_shader_terminate_invocation>>`

source: https://github.com/KhronosGroup/Vulkan-Docs/commit/9fd8fd599b47a67b2eb078b2f5c9e6a2adc922a4

New extensions:
- VK_KHR_fragment_shading_rate
Quote
This extension adds the ability to change the rate at which fragments are shaded.
Rather than the usual single fragment invocation for each pixel covered by a primitive, multiple pixels can be shaded by a single fragment shader invocation.

- VK_KHR_shader_terminate_invocation
Quote
That SPIR-V extension provides a new instruction,
code:OpTerminateInvocation, which causes a shader invocation to immediately
terminate and sets the coverage of shaded samples to `0`; only previously
executed instructions will have observable effects.