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 November 23, 2021 Vulkan 1.2.200 spec update:
  * Update release number to 200 for this update.

Github Issues:

  * Refer to flink:vkCmdPipelineBarrier2KHR::pname:pDependencyInfo as a
    pointer, not an array (public issue 1456).
  * Fix spelling and add backwards-compatibility aliases for some
    elink:VkPipelinCreateFlagBits values (public issue 1676).
  * Fix typo in apiext:VK_INTEL_shader_integer_functions2 (public issue
    1696).
  * Replace usage of {depth, color} buffer with {depth, color} attachment
    (public pull request 1701).
  * Add restriction to the <<formats-mandatory-features-depth-stencil,
    manadatory format support table>> for depth/stencil formats preventing
    implementations from advertising those bits in
    slink:VkFormatProperties::pname:bufferFeatures (public
    Vulkan-ValidationLayers issue 3225).

Internal Issues:

  * Add an additional guarantee for buffer memory requirements in
    slink:VkMemoryRequirements as a minor update to the
    apiext:VK_KHR_maintenance4 extension (internal issue 2885).
  * Add a <<fundamentals-api-name-aliases, section to the fundamentals
    chapter>> describing typo aliases (internal issue 2897).
  * Determine extensions dependencies directly from `vk.xml` in the build
    scripts, rather than generating an auxiliary `extDependency.py` target
    (internal issue 2923).
  * Remove redundant SPIR-V `RuntimeSpirv` valid usage statements 04830,
    06271, 06374, and 06375 (internal merge requests 4827, 4830).
  * Suppress file-not-found `include::` errors for validusage target, using
    an IncludeProcessor extension, due to the way in which the validusage
    extension processes conditionals. Make all include paths absolute and
    require this in the style guide (internal merge request 4925).
  * Add missing `optional="true"` attribute to
    slink:VkCommandBufferInheritanceRenderingInfoKHR::pname:colorAttachmentCount
    (internal merge request 4935).
  * Remove references to apiext:VK_KHR_synchronization2 enums when that
    extension is not enabled in the specification being built (internal
    merge request 4937).
  * Minor wording changes for style guide compliance and consistency
    (internal merge request 4938).
  * Ignore etext:*_EXTENSION_NAME and etext:*_SPEC_VERSION aliases in
    `makemanaliases.py` script since there are no corresponding refpages for
    these meta-enums.

New Extensions:

  * apiext:VK_ARM_rasterization_order_attachment_access (internal merge
    request 3856).
  * apiext:VK_EXT_depth_clip_control (public issues 986 and 1054).

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

New extensions:
- VK_ARM_rasterization_order_attachment_access
Quote
Renderpasses, and specifically
<<synchronization-pipeline-barriers-subpass-self-dependencies, subpass
self-dependencies>> enable much of the same functionality as the framebuffer
fetch and pixel local storage extensions did for OpenGL ES.
But certain techniques such as programmable blending are awkward or
impractical to implement with these alone, in part because a self-dependency
is required every time a fragment will read a value at a given sample
coordinate.

This extension extends the mechanism of input attachments to allow access to
framebuffer attachments when used as both input and color, or depth/stencil,
attachments from one fragment to the next, in rasterization order, without
explicit synchronization.

- VK_EXT_depth_clip_control
Quote
This extension allows the application to use the OpenGL depth range in NDC,
i.e. with depth in range [eq]#[-1, 1]#, as opposed to Vulkan's default of
[eq]#[0, 1]#.
The purpose of this extension is to allow efficient layering of OpenGL over
Vulkan, by avoiding emulation in the pre-rasterization shader stages.
This emulation, which effectively duplicates gl_Position but with a
different depth value, costs ALU and consumes shader output components that
the implementation may not have to spare to meet OpenGL minimum
requirements.

JeGX

Quote
Change log for November 30, 2021 Vulkan 1.2.201 spec update:
  * Update release number to 201 for this update.

Github Issues:

  * Fix typo in refpage description of ename:VK_REMAINING_MIP_LEVELS
    (public pull request 1702).
  * Add missing structextends attribute for
    slink:VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
    (public issue 1703).
  * Fixes and clarifications to valid usage statements for
    slink:VkRenderPassCreateInfo,
    slink:VkRenderPassFragmentDensityMapCreateInfoEXT, and
    slink:VkSubpassDescriptionDepthStencilResolve (matching changes in
    public Vulkan-ValidationLayers pull request 3571).

Internal Issues:

  * Changes to the provisional video extension encode rate control API,
    including changing some existing structures and adding new structures
    and flags (internal issue 1844).
  * Update valid usage statements for apiext:VK_NV_mesh_shader (internal
    issue 2880).
  * Remove valid usage statement IDs 02854 / 02855 / 06081 / 06082, which
    are duplicates of 06166 / 06167 (internal issue 2944).
  * Add a valid usage statement banning code:OpImage*Dref* instructions on
    non-depth views (internal merge request 3889).
  * Add CI test for disallowed contractions (internal merge request 4934).
  * Generate the <<formats-compatibility, Format Compatibility Class Table>>
    from XML tags (internal merge request 4936).
  * Clarify that dependent operations of quad-sensitive ops have helpers
    (internal merge request 4947).
  * Remove redundant valid usage statement for
    apiext:VK_QCOM_render_pass_shader_resolve (internal merge request 4950).
  * Support `api` attribute fully in XML and scripts (internal merge request
    4951).
  * Fix pname:planeIndex attribute in format XML for
    ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 (internal
    merge request 4953).

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

JeGX

Quote
Change log for December 7, 2021 Vulkan 1.2.202 spec update:
  * Update release number to 202 for this update.

Github Issues:

  * Split some valid usage statements for slink:VkAttachmentDescription
    so they can have appropriate conditional protection
    (public pull request 1698).
  * Clean up links to GLSL and SPIR-V extension documents (public pull
    request 1705).
  * Fix markup for <<primsrast-polygon-barycentrics, perspective
    interpolation>> math (public pull request 1711).

Internal Issues:

  * Clarify valid usage statements for
    flink:vkCmdWriteTimestamp2KHR::pname:stage to accomodate
    ename:VK_PIPELINE_STAGE_2_NONE_KHR (internal issue 2867).
  * Disallow descriptorset decorations on non-descriptor ray tracing
    variables in the <<spirvenv-module-validation-standalone, Standalone
    SPIR-V Validation>> section (internal issue 2881).
  * Fix sentence describing behavior when
    slink:VkRenderingFragmentDensityMapAttachmentInfoEXT is not present in
    the slink:VkRenderingInfoKHR::pname:pNext chain (internal issue 2881).
  * Require that
    slink:VkPhysicalDeviceRayTracingPipelinePropertiesKHR::pname:shaderGroupHandleAlignment
    be a power of two (internal merge request 4943).
  * Add a new ename:VK_IMAGE_ASPECT_NONE_KHR=0 enum to
    slink:VkImageAspectFlagBits in the apiext:VK_KHR_maintenance4 extension
    so that pname:planeAspect can be set to zero without having to use a
    cast, and fix some typos (internal merge request 4961).
  * Add "`must: be a power of two`" to all alignment limits (internal issue
    2939).
  * Make all limit anchors follow the `[[limit-NAME]]` style (internal merge
    request 4969).
  * Require render pass to be valid and add missing state subset
    dependencies to slink:VkGraphicsPipelineCreateInfo valid usage
    statements for apiext:VK_ARM_rasterization_order_attachment_access
    (internal merge request 4970).
  * Parameterize OpenGL and GLSL extension registry URLs via asciidoctor
    attributes in `config/attribs.txt`, and move the existing SPIR-V
    extension registry URL from the Makefile into that file. Use `https:`
    prefixes on URLs instead of `http:` where possible.

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

JeGX

Quote
Change log for December 20, 2021 Vulkan 1.2.203 spec update:
  * Update release number to 203 for this update.

Github Issues:

  * Generate auxiliary `vk_video` headers containing definitions of
    `StdVideo*` types from new `xml/video.xml`, rather than including static
    copies in the repository (public issue 1505).
  * Clarify indexing of
    slink:VkPipelineColorBlendStateCreateInfo::pname:pAttachments (public
    issue 1656).
  * Relocate VUID-VkWriteDescriptorSet-descriptorType-00322 to the commands
    to which the structure is passed, and modify constraints in the VU for
    flink:vkCmdPushDescriptorSetKHR to account for its behavior with
    etext:SAMPLER and etext:COMBINED_IMAGE_SAMPLER descriptor types (public
    issue 1686).
  * Fix length inputs for optional array parameters in
    slink:VkCuLaunchInfoNVX to allow pname:paramCount and pname:extraCount
    to be set to zero. (public issue 1709).
  * Fix typo pname:ppEnabledExtensions -> pname:ppEnabledExtensionNames
    (public issue 1719).

Internal Issues:

  * Add slink:VkQueueFamilyQueryResultStatusProperties2KHR structure to the
    provisional apiext:VK_KHR_video_queue extension to report support (or
    lack thereof) for the ename:VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR query
    type ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR status bit (internal
    issue 2927).
  * Add language to slink:VkImageCreateInfo, elink:VkImageUsageFlagBits,
    tlink:VkImageUsageFlags, and slink:VkImageLayout for how to specify
    usage flags when creating images for Vulkan Video implementations
    requiring separate decode DPB and output (internal issue 2926).
  * Require that newly created video sessions be reset before use in
    slink:VkVideoCodingControlInfoKHR and
    elink:VkVideoCodingControlFlagBitsKHR (internal issue 2928).
  * Fix math <<textures-image-level-selection, describing image level
    selection>> with apiext:VK_EXT_image_view_min_lod (internal issue 2943).
  * Add temporal layer count field to
    slink:VkVideoEncodeH264RateControlInfoEXT and
    slink:VkVideoEncodeH265RateControlInfoEXT structures (internal issue
    2948).
  * Add a <<spirvenv-module-validation-runtime, Runtime SPIR-V valid usage
    statement>> to enforce the <<limits-maxComputeSharedMemorySize,
    pname:maxComputeSharedMemorySize limit>> (internal merge request 4846).
  * Correct etext:VK_FORMAT_ETC2_R8G8B8A8_*_BLOCK block sizes to 128 bits in
    the XML format tags (internal merge request 4975).
  * Script and schema updates to correctly filter out XML elements with
    non-matching 'api' attributes and support 'api' attributes on additional
    XML tags (internal merge request 4981).
  * Add apiext:VK_KHR_fragment_shading_rate proposal document to
    retroactively provide justification and design document overview
    (internal merge request 4983).
  * Update generator scripts to properly handle <remove> elements containing
    non-extending <enums>.
  * Restructure some structure descriptions for better adherence to the
    style guide and more detailed descriptions of their members.

New Extensions:

  * apiext:VK_GOOGLE_surfaceless_query (internal merge request 4927).
  * apiext:VK_NV_linear_color_attachment (internal merge request 4956).
  * apiext:VK_QCOM_fragment_density_map_offset (internal merge request 4824).

New extensions:

- VK_GOOGLE_surfaceless_query
Quote
This extension allows the flink:vkGetPhysicalDeviceSurfaceFormatsKHR and
flink:vkGetPhysicalDeviceSurfacePresentModesKHR functions to accept
dlink:VK_NULL_HANDLE as their pname:surface parameter, allowing potential
surface formats, colorspaces and present modes to be queried without
providing a surface.


- VK_NV_linear_color_attachment
Quote
This extension expands support for using ename:VK_IMAGE_TILING_LINEAR images
as color attachments when all the color attachments in the render pass
instance have ename:VK_IMAGE_TILING_LINEAR tiling.


- VK_QCOM_fragment_density_map_offset
Quote
This extension allows an application to specify offsets to a fragment
density map attachment, changing the framebuffer location where density
values are applied to without having to regenerate the fragment density map.

Stefan

QuoteChange log for January 25, 2022 Vulkan 1.3.204 spec update:

  * Vulkan 1.3 initial release. Update release number to 204 for this
    update. The patch number will be used for all Vulkan 1.x spec updates,
    and continue to increment continuously from the previous Vulkan 1.2.203
    update.

Github Issues:

  * Reserve driver ID ename:VK_DRIVER_ID_MESA_VENUS (public merge request
    1733).

Internal Issues:

  * Update scripts and registry schema document to support multiple API
    names in the `api` and `supported` attributes, to allow specializing API
    definitions (internal issue 2809).
  * Minor updates - update copyright dates to 2022, update release scripts
    to generate artifacts for 1.3 as well as earlier specification versions
    (internal issue 2969).

New Features:

  * apiext:VK_KHR_global_priority (internal merge request 4869).
  * <<roadmap-2022, `VK_KHR_roadmap_2022`>> ("`Roadmap 2022`") profile
    (internal merge request 4797).
Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/15d807ce4839d8feb523ca5c133a42a2aa448ade

Stefan

QuoteChange log for February 4, 2022 Vulkan 1.3.205 spec update:

  * Update release number to 205 for this update.

Github Issues:

  * Fix <<renderpass-attachment-nonattachment>> access language. Add related
    valid usage statements for flink:vkCmdExecuteCommands and common VUs for
    drawing commands, and update the glossary definition of "`Image
    Subresources`" to include "`a specific ... set of aspects of an image`"
    (public issues 1340, 1345, 1559; internal issues 2152, 2725).
  * Fix markup "If" and punctuation issues (public pull request 1725).
  * Fix link to incorrect structure for flink:vkCmdSetDepthBias command
    (public pull request 1726).
  * Improve wording of vkCmdBindDescriptorSets (public pull request 1732).
  * Fix mismatching struct member descriptions in
    slink:VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV (public issue
    1735, 1736).
  * Clarify that slink:VkImageCreateInfo::pname:flags is referred to by
    slink:VkImageViewCreateInfo valid usage statement 04971 (public issue
    1740).
  * Add missing `SPV_KHR_device_group` `spirvextension` tag to `vk.xml`
    (public issue 1745).
  * Reference underlying type instead of promoted type alias in
    `structextends` attributes for slink:VkSampleLocationsInfoEXT and
    slink:VkCopyCommandTransformInfoQCOM (public pull request 1746).
  * Fix typo in <<features-storageBuffer8BitAccess,
    storageBuffer8BitAccess>> xref (public pull request 1750).
  * Fix formula markup in <<textures-texel-anisotropic-filtering, Texel
    Anisotropic Filtering>> section (public pull request 1753).
  * Fix typo in `.sType` member for
    `proposals/VK_KHR_dynamic_rendering.asciidoc` (public pull request
    1762).
  * Add missing `len` attribute for
    slink:VkImageFormatConstraintsInfoFUCHSIA::pname:pColorSpaces in
    `vk.xml` (https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=91104,
    internal merge request 5021).

Internal Issues:

  * Rename `slice` to 'sliceSegment` in several provisional video extension
    APIs (internal issue 2833).
  * Fix several valid usage statements for
    slink:VkDeviceImageMemoryRequirementsKHR (internal issue 2967).
  * XML fixes for slink:VkAttachmentSampleCountInfoAMD members
    pname:colorAttachmentCount and pname:pColorAttachmentSamples (internal
    issue 2968).
  * Remove `const` from pname:pNext member of
    slink:VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
    (internal issue 2973).
  * Make definition of <<code:RayTminKHR>>, <<code:WorldRayDirectionKHR>>,
    and <<code:WorldRayOriginKHR>> values less vague (internal issue 2984).
  * Remove `externsync` attribute for slink:VkBuffer and slink:VkImage in
    flink:vkQueueBindSparse (internal issue 2989).
  * Move the <<roadmap, Vulkan Roadmap Milestones>> title markup up one
    level so that this section appears as a separate appendix rather than
    accidentally being merged into the previous appendix (internal issue
    2990).
  * Fix a few places where promotion of APIs to Vulkan 1.3 should have
    happened, but didn't, including defining ename:VK_IMAGE_ASPECT_NONE in
    `vk.xml` and aliasing ename:VK_IMAGE_ASPECT_NONE_KHR to it (internal
    issue 2999).
  * Fix link to pipeline dynamic state section (internal merge request
    4990).
  * Add video codec headers to dependencies in `xml/Makefile` so 'make test'
    works (internal merge request 4991).
  * Fix caption for <<img-innertri, Inner Triangle Tessellation figure>>
    (internal merge request 4994).
  * Fix implication of code:EarlyFragmentTests when representative fragment
    test is enabled in
    slink:VkPipelineRepresentativeFragmentTestStateCreateInfoNV (internal
    merge request 5006).
  * Set `noautovalidity` attribute for
    slink:VkVideoDecodeH264ProfileEXT::pname:pictureLayout to avoid
    conflicting valid usage statements (internal issue 2946).
  * Specify which structure is extended by
    slink:VkQueueFamilyGlobalPriorityPropertiesKHR (internal issue 2982).
  * Change a reference from sname:VkImageFormatProperties2 to
    slink:VkFormatProperties2 in the <<resources-image-creation-limits>>
    section (internal merge request 5016).
  * Specify that the <<features-dynamicRendering, pname:dynamicRendering>>
    feature is required by Vulkan 1.3 and the
    apiext:VK_KHR_dynamic_rendering extension (internal merge request 5017).
  * Fix typo in <<features-shaderZeroInitializeWorkgroupMemory,
    shaderZeroInitializeWorkgroupMemory>> xref (internal merge request
    5020).
  * Add `Promotion to Vulkan 1.3` language in the
    <<VK_KHR_buffer_device_address>> appendix to specify that
    code:bufferDeviceAddress feature support is mandatory, unlike Vulkan
    1.2.
  * Clarify that state is not inherited from static to dynamic pipelines in
    the <<pipelines-dynamic-state, Dynamic State>> section.
Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/9e4c847a9e93cccd5f46e173c3ccf752b89c35df

Stefan

QuoteChange log for February 17, 2022 Vulkan 1.3.206 spec update:

  * Update release number to 206 for this update.

Github Issues:

  * Add valid usage statements common to draw dispatch commands restricting
    allowed instructions (public issue 1749).
  * Remove unused elink:VkPrivateDataSlotCreateFlagBits type from `vk.xml`
    (public issue 1754).
  * Clarify that flink:vkGetInstanceProcAddr should return a valid function
    pointer when the first argument is either NULL or a valid instance
    handle (public issue 1763).
  * Add `returnedonly="true"` attribute to
    slink:VkPhysicalDeviceShaderIntegerDotProductProperties in `vk.xml`
    (public issue 1772).
  * Add `objecttype` attribute to
    slink:VkDeviceMemoryReportCallbackDataEXT::pname:objectHandle in
    `vk.xml` (public issue 1772).

Internal Issues:

  * Update encoder capability APIs in the provisional video extensions to
    align with H.264/H.265 codecs and support a broader range of
    implementations (internal issues 1842 / 2842).
  * Add `spirvextension` tag to `vk.xml` expressing the relationship between
    apiext:VK_INTEL_shader_integer_functions2 and
    `SPV_INTEL_shader_integer_functions` (internal issue 2899)
  * Add a deprecation note for code:WorkgroupSize (internal issue 2908).
  * Align the provisional slink:VkVideoEncodeH264VclFrameInfoEXT structure
    to the similar one in apiext:VK_EXT_video_encode_h265 (internal issue
    2966).
  * Add valid usage statements making code:SkipTrianglesKHR and
    code:SkipAABBsKHR mutually exclusive (internal issue 2994).
  * Do not include valid usage statements requiring that the
    <<features-extendedDynamicState, extendedDynamicState>> feature be
    enabled when building Vulkan 1.3 specifications (internal issue 3005).
  * Update valid usage statements 06423 and 06424 common to draw dispatch
    commands to use "`image view format`" rather than "`image format`"
    (internal issue 3008).
  * Remove mistaken requirement of
    <<features-descriptorBindingUniformBufferUpdateAfterBind,
    pname:descriptorBindingUniformBufferUpdateAfterBind>> for the
    <<profile-features-roadmap-2022, Roadmap 2022>> profile (internal issue
    3017).
  * Remove mistaken requirement of
    <<features-vulkanMemoryModelAvailabilityVisibilityChains,
    pname:vulkanMemoryModelAvailabilityVisibilityChains>> for Vulkan 1.3 in
    the <<features-requirements, Feature Requirements>> section.
  * Add valid usage statements to
    sname:VkCommandBufferInheritanceRenderingInfo,
    sname:VkPipelineRenderingCreateInfo, and sname:VkRenderingInfo requiring
    that pname:depthAttachmentFormat and pname:stencilAttachmentFormat
    include the corresponding aspects.
  * Remove references to
    slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT when
    apiext:VK_EXT_buffer_device_address is not present.
  * Clarify that excess image write data is discarded in the
    <<textures-output-format-conversion, Texel Output Format Conversion>>
    section (internal merge request 5053).
Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/d80b6159f6d69398dbeae52aa1080e47ae96fe47

Stefan

QuoteChange log for March 8, 2022 Vulkan 1.3.207 spec update:

  * Update release number to 207 for this update.

Github Issues:

  * Rejoin part of flink:vkCreateSwapchainKHR language that had become
    dislocated from the start of the description (public pull request 1613).
  * Correct the `limittype` attribute for
    slink:VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV::pname:maxFragmentShadingRateInvocationCount
    (public issue 1767).
  * Fix markup typo in
    slink:VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
    (public issue 1786).
  * Use consistent terminology for variable-sized descriptor bindings, and
    add a glossary entry for the term (public issue 1724).
  * Specify `optional` attribute correctly for the
    pname:pDrmFormatModifierProperties member of
    slink:VkDrmFormatModifierPropertiesListEXT and
    slink:VkDrmFormatModifierPropertiesList2EXT (public issue 1766).
  * Fix `limittype` attribute value for
    slink:VkPhysicalDeviceLimits::pname:maxColorAttachments (public issue
    1768).
  * Add valid usage statements to slink:VkRenderPassMultiviewCreateInfo and
    slink:VkSubpassDescription2 to constrain requirements for the
    <<features-multiview>> feature on render pass creation (public issue
    1774).
  * Fix typos in the apiext:VK_KHR_deferred_host_operations appendix (public
    issue 1784).
  * Fix typo "`unscaled`" -> "`scaled`" in filtering and conversion rules
    for flink:vkCmdBlitImage (public merge request 1792).

Internal Issues:

  * Clarify SPIR-V valid usage statement 04680, and remove 06273, by stating
    all possible uses of code:OpTypeRuntimeArray allowed and then removing
    the restriction at runtime if <<features-runtimeDescriptorArray,
    runtimeDescriptorArray>> is not enabled (internal issue 2408).
  * Update <<resources-image-inherited-usage>> and
    slink:VkImageViewCreateInfo to remove requirement for a YCbCr sampler
    for video image views (internal issue 2688).
  * Specify in the <<primsrast-depthbias-computation, Depth Bias
    Computation>> section that depth bias only works with polygon topologies
    with any polygon mode, but not line and point topologies (internal issue
    2793).
  * Add slink:VkVideoDecodeCapabilitiesKHR,
    elink:VkVideoDecodeCapabilityFlags, and
    elink:VkVideoDecodeCapabilityFlagBitsKHR to the provisional
    apiext:VK_KHR_video_decode_queue extension (internal issue 2964).
  * Clarify which layers of an attachment et automatic layout transitions in
    the <<renderpass-layout-transitions>> section (internal issue 3012).
  * Make slink:VkDeviceImageMemoryRequirements::pname:planeAspect `optional`
    in `vk.xml` (internal issue 3020).
  * Make it more obvious that an AS update cannot change active <-> inactive
    primitives and instances in the <<acceleration-structure-update,
    Acceleration Structure Update Rules>> section (internal issue 3025).
  * Clarify when the various ptext:p*State members of
    slink:VkGraphicsPipelineCreateInfo members are used (internal issue
    3028).
  * Fix resolution of issues 1 and 3 for apiext:VK_EXT_depth_clip_control
    (internal merge request 5057).
  * Add VUs to slink:VkAttachmentDescription2 to avoid specifying stencil
    layout twice with depth/stencil attachments.
  * Fix markup typo in slink:VkPhysicalDeviceMultiDrawPropertiesEXT that
    resulted in the wrong structure name being embedded in common valid
    usage statements.
  * Fix missing `len` attribute in `vk.xml` for
    slink:VkVideoProfilesKHR::pname:pProfiles.

New Extensions:

  * apiext:VK_VALVE_descriptor_set_host_mapping
Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/75c276d6fa83a3f1cbf8b3da50b9278c479be021

Stefan

QuoteChange log for March 15, 2022 Vulkan 1.3.208 spec update:

  * Update release number to 208 for this update.

Internal Issues:

  * Change definition of _inactive triangle_ in the
    <<acceleration-structure-inactive-prims, Inactive Primitives and
    Instances>> section to one for which the first (X) component of _any_
    vertex is NaN (internal issue 3026).
  * Add storage image equivalence for code:AHardwareBuffer-backed external
    memory in slink:VkMemoryAllocateInfo and the
    <<memory-external-android-hardware-buffer-usage, AHardwareBuffer Usage
    Equivalence>> table (internal issue 3004).

New Extensions:

  * apiext:VK_KHR_portability_enumeration
Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/e88e27f2cda370444f87fc724412a384cb958824

JeGX

Quote
Change log for March 23, 2022 Vulkan 1.3.209 spec update:
  * Update release number to 209 for this update.

Public Issues:

  * Add VU to slink:VkImageViewCreateInfo ensuring
    slink:VkImageViewCreateInfo::pname:format and
    slink:VkSamplerYcbcrConversionCreateInfo::pname:format are the same when
    used together (public issue 1752).
  * Add VU to slink:VkMemoryAllocateInfo to limit to one import operation at
    a time (public issue 1782).

Internal Issues:

  * Rephrase some VUs for apiext:VK_EXT_color_write_enable (internal issue
    2868).
  * Update code:Std* structures in provisional video extensions to remove
    SPS and VPS IDs from code:StdVideoDecode*PictureInfo. The implementation
    should obtain the IDs indirectly from the associated PPS picture
    parameters based on the picture parameter and slice header PPS IDs.
    Unify/add STD Encode h.264/265 weight tables (internal issue 2930).
  * Many minor updates to versioning and reporting for the provisional video
    extensions (internal issue 3019).
  * Add VU to slink:VkDeviceCreateInfo to require consistent global
    priorities for protected and unprotected queues created from the same
    queue family (internal issue 3021).
  * Fix some `ifndef::` conditional expression markup (internal issue 3038).
  * Remove the "`Common Operation`" section near the start of the <<copies>>
    chapter and refactor the bullet points into commonvalidity valid usage
    statements, if not already covered by VUs (internal issue 3039).
  * Add some valid usage statements to the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section that were already being checked by `spirv-val` (internal merge
    request 5081).
  * Make markup for code:OpImage*Dref* consistent (internal merge request
    5091).
  * Remove VU 04676, which replicates a statement in the SPIR-V
    specification, from <<spirvenv-module-validation-standalone, Standalone
    SPIR-V Validation>> (internal merge request 5094).
  * Clarify that the pname:finalLayout of an attachment is not ignored in
    the <<renderpass-load-store-ops>> section for
    slink:VkAttachmentDescription (internal merge request 5101).
  * Add VU for ename:VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT dynamic state to
    the common validity statements for drawing commands (internal merge
    request 5103).

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

Stefan

#170
QuoteChange log for March 29, 2022 Vulkan 1.3.210 spec update:

  * Update release number to 210 for this update.

Public Issues:

  * Clarify that descriptors are not referenced for unused
    ename:VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT descriptors unless
    dynamically used (public issue 1794).
  * Remove "`If renderpass is NULL`" from slink:VkFramebufferCreateInfo
    valid usage statements (public issue 1800).

Internal Issues:

  * Add valid usage statements to slink:VkAttachmentDescription and
    slink:VkAttachmentDescription2 for the cases when pname:loadOp is or
    pname:stencilLoadOp is ename:VK_ATTACHMENT_LOAD_OP_LOAD and
    pname:initialLayout is ename:VK_IMAGE_LAYOUT_UNDEFINED, and when
    pname:format is ename:VK_FORMAT_UNDEFINED (internal issue 2349).
  * Add valid usage statements to slink:VkRenderPassMultiviewCreateInfo and
    slink:VkSubpassDescription2 to respect <<limits-maxMultiviewViewCount,
    pname:maxMultiviewViewCount>> (internal issue 2511).
  * Clarify definition of <<shaders-staticuse, static use instructions>>
    (internal issue 2639).
  * Fix typo pname:pRanges -> pname:pRegions in common validity statements
    for copy image commands (internal issue 3052).
  * Update valid usage statement for build acceleration structure common VUs
    to allow inactive instances (internal merge request 5116).
  * Require <<features-colorWriteEnable, pname:colorWriteEnable>> for
    apiext:VK_EXT_color_write_enable in the <<features-requirements, Feature
    Requirements>> section.
  * Better specify when depth/stencil must be written in
    slink:VkPipelineShaderStageCreateInfo valid usage statements.

New Extensions:

  * apiext:VK_EXT_graphics_pipeline_library
  * apiext:VK_EXT_primitives_generated_query
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/45af5eb1f66898c9f382edc5afd691aeb32c10c0


New extensions:
- VK_EXT_graphics_pipeline_library
Quote
This extension allows the separate compilation of four distinct parts of
graphics pipelines, with the intent of allowing faster pipeline loading for
applications reusing the same shaders or state in multiple pipelines.
Each part can be independently compiled into a graphics pipeline library,
with a final link step required to create an executable pipeline that can be
bound to a command buffer.


- VK_EXT_graphics_pipeline_library
Quote
This extension adds support for a new query type to match OpenGL's
`GL_PRIMITIVES_GENERATED` to support layering.

Stefan

QuoteChange log for April 5, 2022 Vulkan 1.3.211 spec update:

  * Update release number to 211 for this update.

Public Issues:

  * Clarify dynamic offset with ename:VK_WHOLE_SIZE including new
    <<buffer-info-effective-range>> language (public issue 1546).
  * Relax depth copy requirement in common copy image valid usage statement
    00153 to ename:VK_IMAGE_TYPE_3D only and clarify copying depth slices
    for slink:VkImageCopy (public issue 1804).
  * Avoid a chain of enumerant aliases in `vk.xml` by aliasing
    ename:VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR directly to
    ename:VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT (public issue 1814).
  * Fix structure name containing pname:compareMask value in
    flink:vkCmdSetStencilCompareMask (public pull request 1806).
  * Fix miiscellaneous minor markup issues (public pull request 1810).
  * Simplify <<fundamentals-api-name-aliases, typo alias example>> to refer
    to aliases in the core API rather than extensions (public pull request
    1811).
  * Fix order of swapchain vs device destruction in
    flink:vkCreateSwapchainKHR (public pull request 1817).
  * Minor fix for VK_EXT_graphics_pipeline_library proposal vertex shader
    sample code (public pull request 1819).

Internal Issues:

  * Clarify timestamps write when the stage is done for
    flink:vkCmdWriteTimestamp and flink:vkCmdWriteTimestamp2 (internal issue
    2287).
  * Add pname:samplerFilterMinmax feature valid usage statement to
    slink:VkSamplerCreateInfo (internal issu 2747).
  * Add success and error codes to `vk.xml` for flink:vkWaitForPresentKHR
    (internal issue 2822).
  * Add footnote to flink:vkGetDeviceProcAddr suggesting, but not requiring
    returning `NULL` for core commands beyond the version supported by the
    implementation (internal issue 3002).
  * Fix valid usage statement for slink:VkImageFormatListCreateInfo when the
    image is created with
    ename:VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT (internal issue
    3032).
  * Disallow binding ray tracing pipelines to protected command buffers in
    flink:vkCmdBindPipeline (internal issue 3034).
  * Update valid usage statements for interaction of
    flink:vkGetRayTracingShaderGroupHandlesKHR and
    flink:vkGetRayTracingCaptureReplayShaderGroupHandlesKHR with
    apiext:VK_KHR_pipeline_library (internal issue 3040).
  * Add capability flags to report support to disable transform skip and use
    B frame in L1 reference list for the provisional
    apiext:VK_EXT_video_encode_h265.txt extension (internal issue 3050).
  * Update description of
    slink:VkPipelineShaderStageCreateInfo::pname:module and add valid usage
    for modules being optional when apiext:VK_EXT_graphics_pipelin_library
    is supported (internal issue 3059).
  * Remove redundant slink:VkVideoEncodeInfoKHR and
    slink:VkVideoDecodeInfoKHR pname:codedOffset / pname:codedExtent
    parameters from the provisional video extensions (internal issue 3062).
  * Fix "`code:VkDescriptorSetLayout`" typo in
    flink:vkCmdBindDescriptorSets.

New Extensions:

  * apiext:VK_EXT_image_2d_view_of_3d
Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/2a31e99cbaa07dba4e2036c0bfe76aa3ebe8b2a4

Stefan

QuoteChange log for April 21, 2022 Vulkan 1.3.212 spec update:

  * Update release number to 212 for this update.

Public Issues:

  * Add <<attachment-type-imagelayout, layout requirements for resolve
    attachments>> (public issue 1777).
  * Improve description of and references to elink:VkCompareOp (public pull
    request 1805).
  * Fix typos in <<fundamentals-api-name-aliases, typo alias example>>
    (public pull request 1821).

Internal Issues:

  * Modify pipeline layout override for
    apiext:VK_EXT_graphics_pipeline_library (internal merge request 5164)
  * Include graphics pipelines in definition of
    ename:VK_PIPELINE_CREATE_LIBRARY_BIT_KHR (internal issue 3068).
  * Add cap for B frame as L1 reference, and disable SPS
    direct_8x8_inference_flag in provisional apiext:VK_EXT_video_encode_h264
    extension (internal issue 3064).
  * Add implementor's note for memory type index ambiguity to
    slink:VkMemoryAllocateInfo for
    apiext:VK_ANDROID_external_memory_android_hardware_buffer (internal
    issue 2762).
  * Minor editorial fixes for the <<memory, Memory Allocation>> chapter.
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/0a80073e9078eae4266ca779d91e36e91c49a54c

JeGX

QuoteChange log for May 10, 2022 Vulkan 1.3.213 spec update:
  * Update release number to 213 for this update.

Public Issues:

  * Replace the list of <<formats-packed, Packed Formats>> with a generated
    version, and update the format generator script to support conditionals
    (public pull request 1823).
  * Fix typo in apiext:VK_INTEL_performance_query (public issue 1845).

Internal Issues:

  * Add valid usage statement limiting
    slink:VkDisplaySurfaceCreateInfoKHR::pname:transform to a single,
    supported transformation (internal merge request 5166).
  * Update sample code for apiext:VK_KHR_ray_query in the extension appendix
    (internal issue 3066).
  * Fix some `limittype` attributes for
    slink:VkPhysicalDeviceTransformFeedbackPropertiesEXT and
    slink:VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV members in
    `vk.xml` (internal merge requests 5173 and 5174).

New Extensions:

  * apiext:VK_EXT_image_compression_control
  * apiext:VK_EXT_pipeline_properties
  * apiext:VK_EXT_subpass_merge_feedback
  * apiext:VK_KHR_ray_tracing_maintenance1

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

New extensions:

- VK_EXT_image_compression_control
QuoteThis extension enables fixed-rate image compression and adds the ability to
control when this kind of compression can be applied.
Many implementations support some form of framebuffer compression.
This is typically transparent to applications as lossless compression
schemes are used.
With fixed-rate compression, the compression is done at a defined bitrate.
Such compression algorithms generally produce results that are visually
lossless, but the results are typically not bit-exact when compared to a
non-compressed result.
The implementation may not be able to use the requested compression rate in
all cases.
This extension adds a query that can be used to determine the compression
scheme and rate that was applied to an image.


- VK_EXT_pipeline_properties
QuoteVulkan SC requires offline compilation of pipelines.
In order to support this, the pipeline state is represented in a
https://github.com/KhronosGroup/VulkanSC-Docs/wiki/JSON-schema[JSON schema]
that is read by an offline tool for compilation.

One method of developing a Vulkan SC application is to author a Vulkan
application and use a layer to record and serialize the pipeline state and
shaders for offline compilation.
Each pipeline is represented by a separate JSON file, and can be identified
with a pname:pipelineIdentifier.

Once the pipelines have been compiled by the offline pipeline cache
compiler, the Vulkan SC application can then use this
pname:pipelineIdentifier for identifying the pipeline via Vulkan SC's
pname:VkPipelineIdentifierInfo structure.

This extension allows the Vulkan application to query the
pname:pipelineIdentifier associated with each pipeline so that the
application can store this with its pipeline metadata and the Vulkan SC
application will then use to map the same state to an entry in the Vulkan SC
pipeline cache.

It is expected that this extension will initially be implemented in the json
generation layer, although we can envision that there might be future uses
for it in native Vulkan drivers as well.



- VK_EXT_subpass_merge_feedback
QuoteThis extension adds a mechanism to provide feedback to an application about
whether the subpasses specified on render pass creation are merged by the
implementation.
Additionally, it provides a control to enable or disable subpass merging in
the render pass.



- VK_KHR_ray_tracing_maintenance1
Quote`VK_KHR_ray_tracing_maintenance1` adds a collection of minor ray tracing
features, none of which would warrant an entire extension of their own.

The new features are as follows:

  * Adds support for the `SPV_KHR_ray_cull_mask` SPIR-V extension in Vulkan.
    This extension provides access to built-in code:CullMaskKHR shader
    variable which contains the value of the code:OpTrace* `Cull Mask`
    parameter.
    This new shader variable is accessible in the intersection, any-hit,
    closest-hit and miss shader stages.
  * Adds support for a new pipeline stage and access mask built on top of
    `apiext:VK_KHR_synchronization2`:
  ** ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR to
     specify execution of <<acceleration-structure-copying, acceleration
     structure copy commands>>
  ** ename:VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR to specify read
     access to a <<shader-binding-table, shader binding table>> in any
     shader pipeline stage
  * Adds two new acceleration structure query parameters:
  ** ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR to query the
     acceleration structure size on the device timeline
  ** ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR
     to query the number of bottom level acceleration structure pointers for
     serialization
  * Adds an optional new indirect ray tracing dispatch command,
    flink:vkCmdTraceRaysIndirect2KHR, which sources the shader binding table
    parameters as well as the dispatch dimensions from the device.
    The <<features-rayTracingPipelineTraceRaysIndirect2,
    pname:rayTracingPipelineTraceRaysIndirect2>> feature indicates whether
    this functionality is supported.

JeGX

QuoteChange log for May 17, 2022 Vulkan 1.3.214 spec update:
  * Update release number to 214 for this update.

Public Issues:

  * Clarify protected queue creation language for slink:VkDeviceCreateInfo,
    slink:VkDeviceQueueCreateInfo,
    slink:VkDeviceQueueGlobalPriorityCreateInfoKHR, and
    slink:VkDeviceQueueInfo2 (public issue 1761, internal issue 2978).
  * Add valid usage statements for usage and format features bits for
    resolve image commands (public pull request 1826).
  * Add apiext:VK_KHR_depth_stencil_resolve dependency to
    apiext:VK_KHR_dynamic_rendering (public pull request 1831).
  * Make some missing API dependencies explicit in XML (public issue 1840).
  * Mark slink:VkSubresourceLayout2EXT as `returnedonly` in XML (public pull
    request 1848).
  * Replace manual links in VK_KHR_ray_tracing_maintenance1 appendix (public
    pull request 1849).
  * Add valid usage statement for pname:pipelinePropertiesIdentifier
    feature, and change a valid usage statement to refer to the
    pname:imageCompressionControlSwapchain feature rather than the related
    extension (public pull request 1852).

Internal Issues:

  * Fix description of parameters defined by
    apiext:VK_EXT_depth_clip_control for slink:VkViewport (internal issue
    3044)
  * Add valid usage statements to slink:VkGraphicsPipelineCreateInfo banning
    graphics pipeline libraries having descriptors for other libraries
    (internal issue 3080).
  * Add valid usage statements to slink:VkGraphicsPipelineCreateInfo and
    flink:vkCmdBindDescriptorSets allowing `NULL` set layouts with
    non-independent sets (internal issue 3082).
  * Set `noautovalidity` attribute in XML for
    flink:vkGetPipelinePropertiesEXT::pname:pPipelineProperties (internal
    issue 3088).
  * Update apiext:VK_NV_device_diagnostics_config to add a new config bit
    (internal merge request 5160).
  * Clarify unsupported conservative point/line rasterization in
    slink:VkPipelineRasterizationConservativeStateCreateInfoEXT and in valid
    usage statements for slink:VkGraphicsPipelineCreateInfo (internal merge
    request 5169).
  * Add missing `limittype` attributes to XML for
    slink:VkQueueFamilyProperties* and slink:VkFormatProperties* members
    (internal merge requests 5171 and 5175).
  * Improve XML `limittype` attribute of
    slink:VkPhysicalDeviceFragmentShadingRatePropertiesKHR::pname:maxFragmentShadingRateCoverageSamples
    for tool chain usage (internal merge request 5177).
  * Change description of slink:VkPipelineLayoutCreateInfo::pname:flags now
    that there are flag bits reserved for the underlying type (internal
    merge request 5180).
  * Fix typos in slink:VkGraphicsPipelineCreateInfo valid usage statements
    (internal merge request 5191).
  * Move attribute settings used in commonvalidity includes inside valid
    usage blocks to generate correct validusage.json text (internal merge
    request 5195).

New Extensions:

  * apiext:VK_AMD_shader_early_and_late_fragment_tests

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

New Extension:

- VK_AMD_shader_early_and_late_fragment_tests
QuoteThis extension adds support for the
{spirv}/AMD/SPV_AMD_shader_early_and_late_fragment_tests.html[`SPV_AMD_shader_early_and_late_fragment_tests`] extension, allowing shaders to explicitly opt in to allowing both early _and_ late fragment tests with the code:EarlyAndLateFragmentTestsEXT execution mode.

Stefan

QuoteChange log for May 24, 2022 Vulkan 1.3.215 spec update:
  * Update release number to 215 for this update.
Public Issues:
  * Fix markup error to make slink:VkImageResolve2 appear right after
    slink:VkImageResolve, rather than appearing in the next section (public
    pull request 1856).
Internal Issues:
  * Allow slink:VkDescriptorPoolCreateInfo::pname:poolSizeCount to be `0` in
    `vk.xml` (internal issue #2974).
  * Add valid usage statements to flink:vkCmdExecuteCommands requiring that
    the depth or stencil format in
    slink:VkCommandBufferInheritanceRenderingInfo must be
    ename:VK_FORMAT_UNDEFINED if a `NULL` attachment is used
    (internal issue 3016).
  * Remove (incomplete) list of SPIR-V decorations from intro of interface
    matching chapter (internal issue 3043).
  * Add valid usage statement disallowing
    VkImageDrmFormatModifierExplicitCreateInfoEXT in the pname:pNext chain
    of slink:VkDeviceImageMemoryRequirementsKHR (internal issue #3051).
  * Add missing references to flink:vkQueueSubmit2 in the
    <<synchronization-fences-signaling>> and
    <<synchronization-semaphores-signaling, Semaphore Signaling>> sections
    (internal issue #3077).
  * Clarify that pipeline libraries can link against other libraries
    following the description of slink:VkPipelineLibraryCreateInfoKHR
    (internal issue #3083).
  * Fix suffix of some SPIR-V tokens to `AMD` for
    apiext:VK_AMD_shader_early_and_late_fragment_tests (internal merge
    request #5199).
New Extensions:
  * apiext:VK_KHR_fragment_shader_barycentric

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