Vulkan API specifications 1.0.4 released

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

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Stefan

QuoteChange log for January 19, 2023 Vulkan 1.3.239 spec update:
Github Issues:
  * Clarify semaphore/fence behavior of flink:vkAcquireNextImageKHR so that
    if successful, both semaphore and fence will be signaled (whichever
    provided), and if not successful, both are unaffected (public issues
    1533, 1776, 2009).
  * Update common draw VU 07751 to require that
    flink:vkCmdSetDiscardRectangleEXT was called for each discard rectangle
    when the corresponding dynamic state is enabled (public issue 1657).
  * Add ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR to
    access masks VUs (public pull request 1997).
  * Fix a typo in flink:vkCmdSetCoverageToColorLocationNV (public pull
    request 2000).
  * Clarify interpretation of H.265 reference indices
    code:RefPicSetStCurrBefore, code:RefPicSetStCurrAfter, and
    code:RefPicSetLtCurr (public issue 2010).
  * Add missing dimension VUs for slink:VkRenderingInfo (public issue 2015).
  * Fix <<formats-mandatory-features-32bit, Mandatory format support: 32-bit
    components>> table to support ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
    for ename:VK_FORMAT_R32_SFLOAT without apiext:VK_EXT_shader_atomic_float
    (public pull request 2011).
  * Fix incorrect link in apiext:VK_KHR_create_renderpass2 appendix (public
    pull request 2037).
Internal Issues:
  * Add `scripts/stripAPI.py` to transform the XML by removing non-matching
    `api` elements (internal issue 3281).
  * Update introduction of the <<fragops, Fragment Operations>> chapter to
    allow the <<fragops-samplemask, sample mask test>> to be performed after
    <<fragops-samplecount, sample counting>> (internal issue 3330).
  * Add slink:VkImageViewCreateInfo VU to disallow creating image views with
    multiple plane bits (internal issue 3332)
  * Add a new VU to slink:VkGraphicsPipelineCreateInfo requiring pipeline
    layout compatibility in the graphics pipeline library link step
    (internal issue 3334).
  * Report an error message from generator scripts when an unknown name is
    referenced, rather than just failing (internal merge request 5614).
  * Document in elink:VkPipelineCreateFlagBits that
    ename:VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
    and
    ename:VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
    are only needed when combining fragment shading rate or fragment density
    maps with dynamic rendering (internal merge request 5616).
  * Moved a VU for index offsets when pname:robustBufferAccess2 is not
    enabled from flink:vkCmdDrawIndexed to become a common VU for all the
    index buffer draw calls (internal merge request 5623).
  * Add VUs to slink:VkWriteDescriptorSet and slink:VkDescriptorImageInfo
    restricting use of other descriptor types from being a 2D view of a 3D
    image (internal merge request 5626).
  * Clarify that the tlink:PFN_vkReallocationFunction callback may return
    `NULL` (internal merge request 5637).
  * Clarify that apiext:VK_KHR_format_feature_flags2 only has to be
    supported, not enabled, in the <<resources-image-view-format-features,
    Image View Format Features>> section (internal merge request 5651).
  * Factor some VUs out of the `copy_bufferimage_to_imagebuffer_common`
    common VU file into a new
    `copy_bufferimage_to_imagebuffer_buffer_alignment_common` file (internal
    merge request 5657).
  * Add new driver id ename:VK_DRIVER_ID_IMAGINATION_OPEN_SC (internal merge
    request 5658).
  * Factor some VUs out of the `image_memory_barrier_common` common VU file
    into a new `image_layout_transition_common` file (internal merge request
    5662).
  * Clarify that format-less buffer views only apply to storage texel
    buffers in the <<features-shaderStorageImageReadWithoutFormat>>,
    <<features-shaderStorageImageWriteWithoutFormat>>, and
    <<formats-without-shader-storage-format, Formats without shader storage
    format>>, sections and for elink:VkFormatFeatureFlagBits2 (internal
    merge request 5668).
New Extensions:
  * apiext:VK_HUAWEI_cluster_culling_shader


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

JeGX

QuoteChange log for January 26, 2023 Vulkan 1.3.240 spec update:
Github Issues:

  * Fix <<limits-maxPushDescriptors, pname:maxPushDescriptors>> description
    (public pull request 2038).

Internal Issues:

  * Finish banning NULL pipeline layouts in
    slink:VkGraphicsPipelineCreateInfo VUs (internal merge request 5673).
  * Fix flink:vkCmdDrawIndirectByteCountEXT VU 02289 to refer to the correct
    structure name (internal merge request 5674).
  * Clarify how to define an inactive acceleration structure instance in the
    <<acceleration-structure-update, Acceleration Structure Update Rules>>
    (internal merge request 5677).
  * Add missing common draw and draw dispatch VUs when setting dynamic state
    at draw time (internal merge request 5679).
  * Add more information about pname:texelBufferAlignment promotion to core
    in the apiext:VK_EXT_texel_buffer_alignment and <<versions-1.3, Version
    1.3>> appendix language (internal merge request 5680).

New Extensions:

  * apiext:VK_EXT_pipeline_library_group_handles

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

New extension
- VK_EXT_pipeline_library_group_handles
QuoteWhen using pipeline libraries in ray tracing pipelines, a library might get linked into different pipelines in an incremental way. An application can have a strategy where a ray tracing pipeline is comprised of N pipeline libraries and is later augumented by creating a new pipeline with N + 1 libraries. Without this extension, all group handles must be re-queried as the group handle is tied to the pipeline, not the library. This is problematic for applications which aim to decouple construction of record buffers and the linkage of ray tracing pipelines.

To aid in this, this extension enables support for querying group handles directly from pipeline libraries. Group handles obtained from a library must: remain bitwise identical in any sname:VkPipeline that links to the library.

With this feature, the extension also improves compatibility with DXR 1.1 AddToStateObject(), which guarantees that group handles returned remain bitwise identical between parent and child pipelines. In addition, querying group handles from COLLECTION objects is also supported with that API.

Stefan

#202
QuoteChange log for February 16, 2023 Vulkan 1.3.241 spec update:
Github Issues:
  * Clarify apiext:VK_EXT_debug_utils object support (public issue 1668,
    public pull request 2034).
  * Fix capitalization typos in a few VUs (public pull request 2050).
  * Parameterize asciidoc includes of asciidoc files from `vkspec.adoc`
    using `{chapters}` attribute (public pull request 2051).
Internal XML Schema Issues:
Several needed XML schema changes are introduced in this update which may
impact downstream XML users who are doing their own parsing. Users of our
Python generator framework are unlikely to be impacted. If you have
difficulty adapting to these changes, please open an issue on the
Vulkan-Docs Github repository.
  * Introduce a new `depends` attribute to the XML schema, replacing the
    `requires` and `requiresCore` attributes of `<extension>` tags, and the
    `features` and `extension` attributes of `<require>` tags. This is an
    intentional and unavoidable breaking change, allowing us to correctly
    express more complex dependencies. XML users doing their own XML parsing
    and needing this information must treat the `depends` attribute as a
    boolean expression. This change also adds a description of the different
    interpretation of device and instance extension dependencies in a single
    place in the new <<extensions, "`Extension Dependencies`">> section at
    the start of the extensions appendix, rather than including a
    boilerplate comment about "`device-level extensions`" with each relevant
    extension dependency described later in the appendix (internal issue
    2883).
  * Import XML, script, and config file changes from the Vulkan SC spec
    repository. This change uses the `api` XML attribute to specialize some
    tags for the Vulkan and Vulkan SC APIs. While this is not a new
    attribute, it has not been extensively used in this fashion previously
    in this repository. XML users doing their own XML parsing must now
    filter out tags with `api` attributes not matching the API they are
    generating, and must also filter out `<extension>` tags whose
    `supported` attribute does not include that API (internal issue 3348).
  * Remove some redundancies from refactored XML dependencies (internal
    merge request 5713).
  * Express correct XML dependencies of apiext:VK_KHR_buffer_device_address,
    now that the new `depends` schema supports that (internal merge request
    5721).
  * Add a new `deprecated` attribute to several tags in XML schema which
    provides some guidance as to why an API was deprecated. Remove `comment`
    text which some downstream XML parsers were using to infer deprecation,
    which was never an intended or supported purpose of the comments (public
    ash-rs/ash issue 670, internal merge request 5537).
Other Internal Issues
  * Expand the definition of <<fundamentals-validusage-enums, "`valid
    enumerant value`">> to include whether the extension or core version
    defining that enumerant is enabled or supported. This has a global
    effect on corresponding VU statements, and the Vulkan Validation Layer
    is being updated accordingly (internal issue 2912).
  * Update the <<synchronization>> chapter in several places to clarify that
    pipeline barriers work only within a single queue (internal issue 3365).
  * Add ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR in a
    few places it was missing, and update description for copy commands to
    specify where it should be used with apiextVK_KHR_synchronization2
    rather than
    ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR (internal
    merge request 5604).
  * Fix typos in `proposals/VK_KHR_video_decode_queue.adoc` (internal merge
    request 5646).
  * Add dynamic state to apiext:VK_EXT_discard_rectangles
    (ename:VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT and
    ename:VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT) and for
    apiext:VK_NV_scissor_exclusive
    (ename:VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV) that was overlooked
    in apiext:VK_EXT_extended_dynamic_state3. While this is adding
    functionality to existing extensions, the implementers of these
    extensions have all signed off on this change (internal merge request
    5671).
  * Disallow ename:VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK in
    slink:VkDescriptorGetInfoEXT VU 08018 (internal merge request 5681).
  * Rearrange some language in flink:vkGetRayTracingShaderGroupHandlesKHR
    and flink:vkGetRayTracingCaptureReplayShaderGroupHandlesKHR to follow
    the style guide (internal merge request 5683).
  * Update to new Docker image SHA for CI and building specs (internal merge
    request 5688).
  * Add `SPV_EXT_fragment_fully_covered` to XML `<spirvextensions>` section
    (internal merge request 5689).
  * Add missing pname:pNext description to
    slink:VkVideoDecodeH264DpbSlotInfoKHR (internal merge request 5701).
  * Add missing internal links for the term
    <<pipelines-graphics-subsets-fragment-shader, fragment shader state>>
    (internal merge request 5704).
  * Move ename:VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY VU common draw vertex
    binding VUs, and word VUs 03420 and 07500 the same, minus the reference
    to pname:dynamicPrimitiveTopologyUnrestricted (internal merge request
    5708).
  * Ban some advanced blend modes from slink:VkColorBlendEquationEXT that
    must be set using a different mechanism (internal merge request 5705).
  * Update copyright dates to 2023, and add CI check for Khronos-copyright
    files (internal merge request 5716).
  * Add clarifying NOTE and typo fixes for
    apiext:VK_HUAWEI_cluster_culling_shader (internal merge request 5718).
  * Add missing XML dependencies on
    apiext:VK_KHR_get_physical_device_properties2 to several extensions
    (internal merge request 5719).
  * Remove flink:vkCmdResolveImage VUs where pname:srcImage is of type
    ename:VK_IMAGE_TYPE_3D (internal vulkansc issue 178).
New Extensions:
  * apiext:VK_EXT_image_sliced_view_of_3d
  * apiext:VK_ARM_shader_core_properties
  * apiext:VK_QCOM_multiview_per_view_render_areas


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

New extensions:

- VK_EXT_image_sliced_view_of_3d
QuoteThis extension allows creating 3D views of 3D images such that the views contain a subset of the slices in the image, using a Z offset and range, for the purpose of using the views as storage image descriptors. This matches functionality in D3D12 and is primarily intended to support D3D12 emulation.

- VK_ARM_shader_core_properties
QuoteThis extension provides the ability to determine device-specific performance properties of Arm GPUs.

It exposes properties for the number of texel, pixel, and fused multiply-add operations per clock per shader core. This can be used in combination with the apiext:VK_ARM_shader_core_builtins extension that provides the ability to query the number of shader cores on the physical device.

- VK_QCOM_multiview_per_view_render_areas
QuoteCertain use-cases (e.g., side-by-side VR rendering) use multiview and render to distinct regions of the framebuffer for each view. On some implementations, there may be a performance benefit for providing per-view render areas to the implementation. Such per-view render areas can be used by the implementation to reduce the pixels that are affected by attachment load, store, and multisample resolve operations.

The extension enables a multiview render pass instance to define per-view render areas. For each view of a multiview render pass instance, only those pixels in the per-view render area are affected by load, store and resolve operations.

JeGX

QuoteChange log for February 26, 2023 Vulkan 1.3.242 spec update:
Github Issues:

  * Separate reflow document traversal and internal logic (public pull
    request 2042).
  * Specify operator evaluation in XML `depends` expressions must be
    left-to-right for operators of the same precedence (public pull request
    2066).
  * Revert to only parenthesizizing formal arguments of VK_DEFINE*HANDLE
    macros in the `vulkansc` api, to work around a bug in MSVC (public issue
    2067).

Internal Issues

  * Clarify <<ray-intersection-candidate-determination, ray transform
    invariance>> with respect to intersection with multiple instances
    (internal issue 3371).
  * Fix extraneous `+` sign appearing in dependency section of extension
    refpages (internal issue 3382).
  * Add draw dispatch common VU for
    ename:VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT and new
    <<resources-buffer-view-format-features, Buffer View Format Features>>
    section (internal merge request 5597).
  * Move subpass self-dependency language into slink:VkSubpassDependency and
    pipeline barrier common VUs (internal merge request 5687).
  * Typo fix for double words ("`the the`") (internal merge request 5739).
  * Clarify Vulkan memory model requirements in the <<memory-model, Memory
    Model>> appendix (internal cross-api/memory-model issue 157).
  * Remove `update_valid_usage_ids.sh` script, which has not worked for a
    long time.

New Extensions:

  * apiext:VK_NV_low_latency

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

New extension:
-VK_NV_low_latencyVK_NV_low_latency
QuoteThis extension adds the VkQueryLowLatencySupportNV structure, a structure used to query support for NVIDIA Reflex.

JeGX

QuoteChange log for March 12, 2023 Vulkan 1.3.243 spec update:
Github Issues:

  * Clarify descriptions of
    ename:VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT and
    ename:VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT to include missing
    operations and properly refer to advanced blend operations (public issue
    2047).
  * Add specification language for ename:VK_REMAINING_3D_SLICES_EXT (public
    issue 2063).
  * Fix some out of date cross-references and citations. Update normative
    reference sections and cite them appropriately in the specification,
    registry schema, and style guide documents (public issue 2069).
  * Reverse aliasing of ename:VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT to a
    reserved bit for Vulkan SC (public issue 2070).
  * Add Mobileye vendor ID reservation (public pull request 2076).

Internal Issues

  * Updates to provisional video encode extensions including minor API
    changes - see change logs in the apiext:VK_EXT_video_encode_h264,
    apiext:VK_EXT_video_encode_h265, and apiext:VK_KHR_video_encode_queue
    extension appendices for more details (internal issue 3329).
  * Add VU logic for ename:VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT to
    common draw, flink:vkCmdBindPipeline, and
    slink:VkGraphicsPipelineCreateInfo (internal issue 3355).
  * Add to the NOTE in the <<queries-occlusion, Occlusion Queries>> section
    describing possible differences in query results between implementations
    even when ename:VK_QUERY_CONTROL_PRECISE_BIT is specified (internal
    issue 3364).
  * Fix a few pname:pNext pointer input-only structure members defined by
    apiext:VK_EXT_swapchain_maintenance1 to add `const` qualifiers in XML
    (internal issue 3367).
  * Clarify why setting the stride with flink:vkCmdBindVertexBuffers2 has
    additional restrictions relative to setting the static state, and add a
    corresponding issue to the apiext:VK_EXT_extended_dynamic_state appendix
    (internal issue 3391).
  * Fix reflow script so VUID tag generation / duplicate checking can be
    performed independently of text reflowing (internal issue 3394).
  * Fix some incorrectly rewritten text that looks like a link, but is not,
    in refpage source code blocks (internal issue 3401).
  * Add code:Vertex code:Location restrictions when dynamic vertex input
    state is enabled to common draw vertex binding and
    slink:VkGraphicsPipelineCreateInfo VUs (internal merge request 5541).
  * Refactor some common image copy VUs (internal merge request 5659).
  * Refactor common image copy VUs not affected by
    apiext:VK_QCOM_rotated_copy (internal merge request 5660).
  * Update XML `<extension>` dependencies for VulkanSC in cases where an
    extension has been promoted to core in that API, but the extension
    itself is not supported (internal merge request 5723).
  * Call out extension and feature dependencies explicitly in some VUs
    (internal merge request 5737).
  * Fix typo in asciidoctor conditional markup for
    slink:VkPipelineShaderStageCreateInfo VU 06716. (internal merge request
    5726).
  * Update wording of slink:VkImageViewSlicedCreateInfoEXT specifying when
    this structure is ignored (internal merge request 5734).
  * Fix wording of slink:VkD3D12FenceSubmitInfoKHR VUs 00079 and 00080
    (internal merge request 5742).
  * Use "`component`" consistently when referring to pname:format arguments,
    replacing "`aspect`" (internal merge request 5746).
  * Add missing slink:VkImageViewSlicedCreateInfoEXT VU for pname:viewType
    (internal merge request 5749).
  * Remove redundant slink:vkCmdClearAttachments dynamic rendering VUs 07882
    and 07883 (internal merge request 5751).
  * Remove redundant slink:VkGraphicsPipelineCreateInfo code:InputAttachment
    dynamic rendering VU 06056 (internal merge request 5752).
  * Fix description of mesh shader execution modes in the
    apiext:VK_EXT_mesh_shader proposal document (internal merge request
    5756).
  * Minor updates to apiext:VK_HUAWEI_cluster_culling_shader extension APIs.
    These are incompatible changes but the vendor driver release with this
    extension has not been published, so there should be no user impact
    (internal merge request 5767).
  * Restructure <<fundamentals-validusage-enums, Valid Usage for Enumerated
    Types>> and <<fundamentals-validusage-flags, Valid Usage for Flags>>
    sections to make clear that the rules for enums and flag bits follow the
    same formula, and be more precise in defining interactions with
    extensions and core versions (internal merge request 5769).
  * Make normative text and NOTE in the
    <<synchronization-pipeline-stages-masks>> section consistent (internal
    merge request 5772).
  * Refactor single-sampled requirement of copy commands into common VU
    statements (internal merge request 5776).

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

JeGX

QuoteChange log for March 17, 2023 Vulkan 1.3.244 spec update:
Github Issues:

  * Fix typo in
    slink:VkDeviceGroupRenderPassBeginInfo::pname:deviceRenderAreaCount
    (public issue 2078).

Internal Issues

  * Move copy attribute's pname: to commonvalidity attributes to aid with
    VUID generation (internal MR 5781).
  * Add a .mailmap file (internal MR 5786).
  * Refactor pipeline layout consistency VUs for
    slink:VkComputePipelineCreateInfo, slink:VkGraphicsPipelineCreateInfo,
    and slink:VkRayTracingPipelineCreateInfoNV into common validity
    statements (internal MR 5750).
  * Make VUID tag generation prioritize attributes, helping ensure tags are
    unique when the same common validity file is included twice in the same
    VU block (internal MR 5791).

New Extensions:

  * apiext:VK_KHR_map_memory2

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

New extension:
- VK_KHR_map_memory2
QuoteThis extension provides extensible versions of the Vulkan memory map and unmap entrypoints. The new entrypoints are functionally identical to the core entrypoints, except that their parameters are specified using extensible structures that can be used to pass extension-specific information.

Stefan

#206
QuoteChange log for March 24, 2023 Vulkan 1.3.245 spec update:
Github Issues:
  * Tighten wording for <<descriptorsets-compatibility, Pipeline Layout
    Compatibility>> (public issue 1853).
  * Attempt to clarify "`supported`" vs. "`enabled`" in the
    <<extendingvulkan-device-extensions, Device Extensions>>,
    <<fundamentals-validusage-extensions, Valid Usage for Extensions>>, and
    <<extendingvulkan-instanceanddevicefunctionality, Instance and Device
    Functionality>> sections (public issue 2035).
  * Fix markup typo (public issue 2089).
Internal Issues
  * Fix slink:VkRayTracingPipelineCreateInfoKHR VU interactions in the
    presence of stages and groups (internal issue 3104).
  * Fix standalone SPIR-V VU 04924 to clarify components can also be arrays
    of scalars or vectors (internal issue 3411).
  * Add anchors for all <<interfaces-builtin-variables, Built-In Variables>>
    (internal issue 3418).
  * Add common image layout transition VUs to prevent inconsistent image
    barrier with separate depth/stencil (internal MR 5634).
  * Add NOTE of intended use cases for slink:VkDirectDriverLoadingListLUNARG
    to the description of slink:VkInstanceCreateInfo (internal MR 5692).
  * Update Khronos specification license terms to the latest version
    (internal MR 5717).
  * Fix slink:VkGraphicsPipelineCreateInfo VU 07725 requirement that
    code:PointSize be written to for every vertex emitted (internal MR
    5790).
  * Set missing `refpage` attribute when including some pipeline common
    VUIDs (internal MR 5795).
  * Add missing VUs to flink:vkCmdPushDescriptorSetWithTemplateKHR (internal
    MR 5798).
  * Fix style guide word choice table markup problem that resulted in
    off-by-one column errors (internal MR 5808).
  * Use style guide preferred form of "`depth/stencil format`" (internal MR
    5810).
New Extensions:
  * apiext:VK_NV_displacement_micromap


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

New extension:
- VK_NV_displacement_micromap
QuoteRay tracing can very efficiently render from geometry which has very fine detail, but when using only a basic triangle representation, memory consumption can be an issue. This extension adds the ability to add a displacement map to add more detail to triangles in an acceleration structure with an efficient in-memory format. The format is externally visible to allow the application to compress its internal geometry representations into the compressed format ahead of time. This format adds displacements along a defined vector to subtriangle vertices which are subdivided from the main triangles.

Stefan

#207
QuoteChange log for March 31, 2023 Vulkan 1.3.246 spec update:

Github Issues:
  * Remove redundant "`input attachment`" wording in descriptions of
    ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT and
    ename:VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT (public issue
    2083).
  * Add a NOTE describing state of buffers passed in
    flink:vkBindBufferMemory2::pname:pBindInfos if the command fails (public
    issue 2086).
Internal Issues
  * Add new <<spirvenv-module-validation-runtime, Runtime SPIR-V VUs>>
    restricting code:OpTypeImage multisampling to be consistent the
    slink:VkImageCreateInfo::pname:samples its bound image was created with
    (internal issue 2426).
  * Clarify that <<primsrast-sampleshading, sample interpolation>> enables
    sample shading (internal issue 2872).
  * Add <<spirvenv-module-validation-standalone, Standalone SPIR-V VUs>> for
    multiple code:OpVariable for one code:Location, and use code:Location
    and code:Component terminology consistently in related parts of the
    specification, rather than informal equivalent terms (internal MR 5630).
  * Add a new <<spirvenv-module-validation-runtime, Runtime SPIR-V VUs>>
    preventing code:InputAttachmentIndex overlaps (internal MR 5759).
  * Move apiext:VK_NV_displacement_micromap interfaces to the provisional
    `vulkan_beta.h` header (internal MR 5812).
  * Remove redundant common validity VU 07977 for buffer alignment in buffer
    <-> image copies (internal MR 5814).
  * Remove redundant slink:VkWriteDescriptorSet VU 07729 (internal MR 5815).
  * Describe multi-planar aspect masks consistently in VU statements
    (internal MR 5816).
  * Fix ptext:width -> pname:height typo in slink:VkRenderingInfo VU 07816
    (internal MR 5817).
New Extensions:
  * apiext:VK_EXT_shader_object
  * apiext:VK_EXT_shader_tile_image


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

New extensions:

- VK_EXT_shader_object
QuoteThis extension introduces a new VkShaderEXT object type which represents a single compiled shader stage. Shader objects can be used as a more flexible but comparably performant alternative to VkPipeline objects.

- VK_EXT_shader_tile_image
QuoteThis extension allows fragment shader invocations to read color, depth and stencil values at their pixel location in rasterization order. The functionality is only available when using dynamic render passes introduced by VK_KHR_dynamic_rendering. Example use cases are programmable blending and deferred shading.


Stefan

QuoteChange log for April 12, 2023 Vulkan 1.3.247 spec update:
Github Issues:
  * Fix typo in apiext:VK_EXT_shader_object sample code (public PR 2094).
  * Experimental Antora site generator code for Vulkan Documentation Project
    demo - see https://github.com/KhronosGroup/Vulkan-Site/ for more
    information and links to the live site demo (public PR 2097).
  * Fix typo to code:StdVideoDecodeH265ReferenceInfo <<decode-h265, H.265
    Decode Operations>> (public PR 2098).
Internal Issues
  * Improve wording for code:Location VUs 04917 and 04919 (internal issue
    2737).
  * Add wording about host write guarantees and non-temporal instructions
    for flink:vkDeviceWaitIdle (internal issue 3404).
  * Clarify undefined values in the <<interfaces-fragmentoutput, Fragment
    Output Interface>> section, and improve the explanation of how fragment
    shader interfaces work (internal issue 3416).
  * Add `ratification` status attribute to <extension> XML and reflect it in
    the extension appendix metadata. Add new '-spec ratified' option to
    `makeSpec` script (internal issue 3417).
  * Add a commonvalidity file `shader_create_spv_common.adoc` for creating
    SPIR-V shaders and use it for slink:VkShaderCreateInfoEXT and
    slink:VkShaderModuleCreateInfo (internal issue 3426).
  * Errata and wording improvements to apiext:VK_EXT_shader_object (internal
    issue 3435).
  * Restore two missing members that were inadvertently removed from the XML
    definition of slink:VkDeviceFaultVendorBinaryHeaderVersionOneEXT. This
    is not a functional change to the specification, and is approved by the
    implementations of the apiext:VK_EXT_device_fault extension (internal
    issue 3443).
  * Add VUs for common draw vertex binding and
    slink:VkGraphicsPipelineCreateInfo so the vertex input has matching
    signed int / unsigned int / float type in both the shader and the
    pipeline (internal MR 5627).
  * Mention <<pipelines-graphics-subsets-vertex-input, vertex input state>>
    in slink:VkGraphicsPipelineCreateInfo VUs 00736 and 00737 (internal MR
    5783).
  * Cleanup <<spirvenv, SPIR-V Environment>> appendix to use code: markup
    consistently on SPIR-V keywords (internal MR 5823).
  * Grammar, markup, and typo fixes for the
    apiext:VK_HUAWEI_cluster_culling_shader extension (internal MR 5827).
  * Use host networking in `scripts/runDocker` (internal MR 5834).
  * Clean up apiext:VK_EXT_shader_object language and extension dependencies
    when building a spec with just this extension included (internal MR
    5837).
  * Add <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> VU
    to ensure there is a shader output for every shader input slot (internal
    MR 5843).
  * Fix code:OutputVertices language for apiext:VK_EXT_shader_object in the
    <<tessellation, Tessellator>> section to refer to the control stage, not
    the evaluation stage (internal MR 5846).


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

Stefan

QuoteChange log for April 20, 2023 Vulkan 1.3.248 spec update:
Github Issues:
  * Clarify when <<deferred-host-operations-requesting, parameter access for
    deferred commands>> can be done (public issue 2092).
  * Clarify <<fundamentals-objectmodel-lifetime, object lifetimes for
    deferred commands>> (public issue 2100).
  * Add missing :refpage: markup to pages that use commonvalidity VUs, so
    the API portion of the VUID is rendered correctly (public issue 2104).
Internal Issues
  * Update slink:VkFragmentShadingRateCombinerOpKHR language to address
    differences between Fragment Shading Rate clamping and DX Variable
    Shading Rate input sanitization (internal issue 3339).
  * Add common VU for slink:VkAttachmentDescription2 and
    slink:VkAttachmentReference2KHR, and VU to
    slink:VkGraphicsPipelineCreateInfo, to ensure render pass and pipeline
    sample counts are valid, and related specification language in
    <<renderpass-noattachments>> (internal issue 3422).
  * Clarify that <<textures-texel-mipmap-filtering, minmax filtering applies
    between mip levels>> (internal issue 3450).
  * Add ename:VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT to
    slink:VkPipelineColorBlendStateCreateInfo attachment VUs 07353 and 07608
    (internal issue 3455).
  * Fix "`fragment output interface`" -> "`fragment shader state`" typo in
    slink:VkGraphicsPipelineCreateInfo VUs 06485 and 06486 (internal MR
    5824).
  * Collapse redundancies in dynamic state VUs for
    slink:VkGraphicsPipelineCreateInfo and
    slink:VkPipelineViewportStateCreateInfo (internal MR 5838).
  * Collapse redundancies in dynamic state VUs for
    slink:VkGraphicsPipelineCreateInfo and
    slink:VkGraphicsPipelineCreateInfo (internal MR 5853).
  * Clarify source of the custom border color in a NOTE to
    slink:VkSamplerCustomBorderColorCreateInfoEXT and a footnote to the
    <<textures-border-replacement-table, Border Texel Components After
    Replacement>> table (internal MR 5855).
  * Update registry scripts to enable using combined Vulkan and Vulkan SC
    registry entries to generate combined headers for use with SC ecosystem
    tooling (internal MR 5858).
  * Add <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> VU
    to require decorations to match between shader stages (internal MR
    5861).


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

JeGX

QuoteChange log for April 27, 2023 Vulkan 1.3.249 spec update:
Github Issues:

  * Add a non-normative NOTE on variability in
    <<textures-texel-anisotropic-filtering, Texel Anisotropic Filtering>>
    implementations, and move the theoretical implementation described in
    that section into the NOTE (public issue 1361).
  * Fix XML attributes of slink:VkMicromapEXT structure members to allow
    `NULL` handles (public issue 2114).

Internal Issues

  * Clarify common draw VUs for attachment read feedback loops (internal
    issue 3439).
  * Add flink:vkCmdCopyQueryPoolResults VU requiring queries to have been
    made available by prior executed commands (internal issue 3451).
  * Relax ptext:*DescriptorSize limits to 256 bytes max in the
    <<limits-required, Required Limits>> table (internal issue 3456).
  * Mention shader objects in definitions of code:SubgroupLocalInvocationId
    and code:SubgroupSize built-ins (internal issue 3459).
  * Use numeric format (e.g. etext:*SFLOAT), numeric type (e.g. "`float`"),
    and SPIR-V type (e.g. code:OpTypeFloat, width, sign) consistently in the
    specification, rather than mixing and matching by accident (internal
    merge request 5627).
  * Add <<spirvenv-module-validation-runtime,
    Runtime SPIR-V Validation>> VUs for Mesh and Task
    code:max*Size using the same wording as for
    code:maxComputeSharedMemorySize (internal merge request 5804).
  * Add missing `const` to
    slink:VkVideoDecodeH265PictureInfoKHR::pname:pStdPictureInfo (internal
    merge request 5859).
  * Convert `scripts/genanchorlinks.py` script into an asciidoctor
    extension.

New Extensions

  * apiext:VK_KHR_ray_tracing_position_fetch

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

New Extension:
- VK_KHR_ray_tracing_position_fetch
QuoteVK_KHR_ray_tracing_position_fetch adds the ability to fetch the vertex positions in the shader from a hit triangle as stored in the acceleration structure.

An application adds ename:VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR to the acceleration structure at build time. Then, if the hit is a triangle geometry, the shader (any-hit or closest hit for ray pipelines or using ray query) can: fetch the three, three-component vertex positions in object space, of the triangle which was hit.

Stefan

#211
QuoteChange log for May 4, 2023 Vulkan 1.3.250 spec update:
Github Issues:
  * Fix common image subresource VUs for fname:vkGetImageSubresourceLayout*
    with planar images (public issue 2109).
  * Fix URL in BUILD.adoc (public merge request 2116).
  * Split up ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT VU for
    slink:VkImageCreateInfo (public issue 2117)
Internal Issues
  * Add some missing VUs for apiext:VK_EXT_shader_object (internal issue
    3449).
  * Add a <<shaders-binding, Binding Shaders>> section and refer to it from
    some apiext:VK_EXT_shader_object VUs, collapsing and simplifying them
    (internal issue 3425).
  * Fix flink:vkGetImageSubresourceLayout2EXT to refer to the output
    structure as undefined for ename:VK_IMAGE_TILING_OPTIMAL, rather than
    the input structure (merge request 5870).
  * Add ename:VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT to the
    slink:VkPipelineColorBlendStateCreateInfo::pname:pAttachments
    description (merge request 5873).
  * Clarify how to get slink:VkExternalBufferProperties in
    slink:VkMemoryAllocateInfo VU 00639 (merge request 5873).
  * Replace `~~~~` delimiter for nested open/source blocks with `----`,
    using a custom extension to treat the listing block as an open block
    where needed for continuations (merge request 5886).
  * Fix common stage mask VUIDs 07946, 07947, 07949, and 07950 to
    incorporate the stage mask name and avoid duplication (internal merge
    request 5886).
New Extensions
  * apiext:VK_EXT_attachment_feedback_loop_dynamic_state


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

New extension:
- VK_EXT_attachment_feedback_loop_dynamic_state
QuoteThis extension adds support for setting attachment feedback loops dynamically on command buffers.

Stefan

#212
QuoteChange log for May 28, 2023 Vulkan 1.3.251 spec update:
Github Issues:
  * VUs for graphics pipelines have been reworked regarding state subsets,
    along with the sections describing those state subsets. VUs that
    previously ambiguously stated "`If the pipeline is _created with_ <state
    subset>...`" now instead state "`If the pipeline _requires_ <state
    subset>...`" Those VUs link to the state subset descriptions, which
    previously did not actually indicate anything about when they were
    required, which was instead left to the section on complete subsets. The
    subset sections now document their own independent requirements for when
    they are needed, so that the VUs explicitly point to relevant text.
    Additional VUs have also been added to mirror these updated sections,
    uncovering a handful of incorrect edge cases and clarifying them.
    Previous VUs that required a complete pipeline were now redundant, so
    have been removed. (public issue 1793).
  * Add missing code:SPV_EXT_opacity_micromap to XML (public pull request
    2131).
  * Fix typo in code:SPV_INTEL_shader_integer_functions2 XML (public pull
    request 2132).
Internal Issues
  * Use "`commands are called *in* a command buffer`" rather than "`*on* a
    command buffer`", and add this case to the style guide (internal issue
    3480).
  * Fix common draw dispatch VU 07753 for the
    slink:VkImageView::pname:format to match the code:OpTypeImage
    code:Sampled code:Type (internal issue 3481).
  * Create common draw and slink:VkGraphicsPipelineCreateInfo VUs for
    pname:alphaToCoverageEnable (internal merge request 5811).
  * Add elink:VkDynamicState entry for
    ename:VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT (internal
    merge request 5894).
  * Use consistent wording for VUs referring to external memory handles
    (internal merge request 5895).
  * Remove redundant <<spirvenv-module-validation-standalone, Standalone
    SPIR-V Validation>> VU 04662 (internal merge request 5898).
  * Revert common draw VU 07620, which was accidentally removed by
    apiext:VK_EXT_shader_object (internal merge request 5899).
  * Allow slink:VkVideoDecodeInfoKhr::pname:pReferenceSlots to be `NULL` in
    its description (internal merge request 5900).
  * Fix slink:VkGraphicsPipelineCreateInfo pipeline topology VUs when
    pname:dynamicPrimitiveTopologyUnrestricted is set and the dynamic state
    is enabled (internal merge request 5916).
New Extensions
  * apiext:VK_EXT_dynamic_rendering_unused_attachments


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

New extension:
- VK_EXT_dynamic_rendering_unused_attachments
QuoteThis extension lifts some restrictions in the VK_KHR_dynamic_rendering extension to allow render pass instances and bound pipelines within those render pass instances to have an unused attachment specified in one but not the other. It also allows pipelines to use different formats in a render pass as long the attachment is NULL.