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 May 10, 2021 Vulkan 1.2.178 spec update:
  * Update release number to 178 for this update.

Github Issues:

  * Add `optional` attribute to pname:pFragmentShadingRateAttachment member
    of slink:VkFragmentShadingRateAttachmentInfoKHR, to match specification
    text (public issue 1482).
  * Lots of minor markup and phrasing fixes (public issue 1482).
  * Additional fixes specific to ray tracing extensions, including a few
    duplicate valid usage statements, incorrect descriptions of structure
    members, and incorrect SPIR-V opcodes (public issue 1483).
  * Fix formatting around "`Special Use`" sections in generated refpages
    (public issue 1518).

Internal Issues:

  * Language cleanup including removing contractions, and some wording in
    more egregious violation of the style guide.
  * Make parameter handling text in the
    <<deferred-host-operations-requesting, Requesting Deferral>> section
    consistent with the <<fundamentals>> chapter (internal issue 2018).
  * Relax slink:VkCopyDescriptorSet valid usage statements to remove some
    constraints on copying descriptors from sets residing in host memory
    other kinds of sets (internal issue 2610).
  * Clarify the definition of "`intersection`" in the
    <<ray-intersection-candidate-determination, Ray Intersection Candidate
    Determination>> section (internal issue 2623).
  * Allow pname:stride to equal buffer size in
    slink:VkStridedDeviceAddressRegionKHR (internal issue 2631).
  * Fix the ray tracing shader interface table in the
    <<interfaces-raypipeline, Ray Tracing Pipeline Interface>> section
    (internal issue 2640).
  * Try to use consistently-phrased descriptions of etext:*FlagBits* members
    and parameters everywhere (internal issue 2656).
  * Replace "`optional pointer`" terminology with "`NULL or a pointer`" (and
    similar uses), and update the style guide accordingly (internal issue
    2662).
  * Modify wording of some pipeline creation valid usage statements to tidy
    up cases where certain state isn't required (internal merge request
    4496).
  * Clarify consistent <<descriptorsets-updates-consecutive, consecutive
    binding updates>> (internal merge request 4500).
  * Clarify that code:scalarBlockLayout is supported on the
    code:ShaderRecordBufferKHR storage class in the
    <<interfaces-resources-standard-layout, Standard Buffer Layout>> section
    (internal merge request 4525).
  * Hide boilerplate Features and Properties text where it incorrectly
    appeared outside the descriptions of feature and property structures,
    respectively (internal merge request 4541).
  * Add missing section headers to the
    `<<VK_KHR_zero_initialize_workgroup_memory>> appendix (internal merge
    request 4553).
  * Add missing `R64ui` and `R64i` entries to the SPIR-V
    <<spirvenv-format-type-matching tables, image format matching tables>>
    for `<<VK_EXT_shader_image_atomic_int64>>` (internal
    Tracker/vk-gl-cts#2885).

New Extensions:

  * `<<VK_NVX_binary_import>>` (only appendix and XML - no spec language yet).

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

New extension:
VK_NVX_binary_import
Quote
This extension allows applications to import CuBIN binaries and execute them.

JeGX

Quote
Change log for May 24, 2021 Vulkan 1.2.179 spec update:
  * Update release number to 179 for this update.

Github Issues:

  * Require that the queried
    slink:VkPhysicalDeviceExternalMemoryHostPropertiesEXT::pname:minImportedHostPointerAlignment
    is a power of two (public issue 1442).
  * Fix direction of enum aliasing for fragment shading rate extensions,
    so NV tokens don't show up in a KHR-only specification build
    (public issue 1482).
  * Split the new <<fundamentals-validusage, Valid Usage>> section off from
    its previous location within the <<fundamentals-errors, Errors>> section
    (public pull request 1503).
  * Correct some typos in stage parameter names (public pull request 1507).
  * Fix minor markup issues (public pull request 1508).
  * Add missiong `optional` attribute to
    flink:vkGetPhysicalDeviceVideoFormatPropertiesKHR::pname:pVideoFormatPropertyCount
    in `vk.xml` (public pull request 1514).
  * Add additional header dependecies for external code:Std* types in the
    provisional video extensions (public pull request 1515).
  * Tagged slink:VkCuModuleCreateInfoNVX::pname:pName as
    `len="null-terminated"` in `vk.xml` (public issue 1526).
  * Fix `:anchor-prefix:` markup showing up in spec outputs due to
    overzealous whitespace removal (public issue 1530).
  * Protect use of `__cplusplus` macro in a preprocessor test in the headers
    (public Vulkan-Headers issue 4).

Internal Issues:

  * Rephrase the language describing lifetime of EDID query results for
    slink:VkDisplayPropertiesKHR to be more precise (internal issue 695).
  * Clarify descriptor pool size aggregation behavior for
    slink:VkDescriptorPoolCreateInfo.txt (internal issue 2577).
  * Make valid usage statements for slink:VkImportMemoryFdInfoKHR and
    slink:VkMemoryGetFdInfoKHR properly enforce the relationship between
    pname:fd and pname:handleType (internal issue 2607).
  * Add missing common, non-indirect shared valid usage statements for
    flink:vkCmdDispatchBase (internal issue 2625).
  * Call out precision of pname:subPixelPrecisionBits clearly in the
    <<vertexpostproc-viewport, Controlling the Viewport>> section (internal
    issue 2635)
  * Do not allow code:RayPayloadKHR on any-hit shaders in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section (internal issue 2640).
  * Simplify specification language for sname:VkMemoryDedicatedRequirements
    (internal issue 2661).
  * Remove `optional="true"` attributes from XML for
    slink:VkSurfaceCapabilities* members pname:supportedTransforms,
    pname:supportedCompositeAlpha, and pname:supportedUsageFlags, matching
    descriptions in the specification (internal issue 2666).
  * Add a concurrent deferred host operation example to the
    `<<VK_KHR_deferred_host_operations>>` appendix (internal issue 2677).
  * Add a NOTE to slink:VkAccelerationStructureCompatibilityKHR encouraging
    host-cachable memory for host acceleration structure builds (internal
    issue 2682).
  * Remove redundant language in basetype:VkSampleMask duplicating valid
    usage statements for slink:VkGraphicsPipelineCreateInfo (internal issue
    2624).
  * Allow `<<VK_EXT_shader_image_atomic_int64>>` to enable the
    code:shaderImageInt64Atomics SPIR-V feature in `vk.xml` (internal SPIR-V
    issue 644).
  * Add valid usage statement to fname:vkCmdWriteTimestamp* for the
    pname:query index in pname:queryPool (internal merge request 4528).
  * Add valid usage statements to flink:vkQueueSubmit2KHR for pname:fence
    (internal merge request 4530).
  * Add *GlCompute* to the disallowed *Output* storage classes in shared valid
    usage statement 04644 for ray tracing functionality (internal merge
    request 4532).
  * Remove redundant code:Patch decoration shared valid usage statement 04671
    (internal merge request 4530).
  * Make the code:sparseImage*Atomics features a superset of the corresponding
    code:shaderImage*Atomics features, in the slink:VkDeviceCreateInfo valid
    usage statements and the <<features-requirements, Feature Requirements>>
    section (internal merge request 4561).
  * Add `specialuse="glemulation,d3demulation"` attribute to XML for
    `<<VK_EXT_custom_border_color>>` (internal merge request 4564).
  * Make array count and pointer-to-array parameter / member descriptions
    more consistent (internal merge request 4566).
  * Add third-level section headings to the <<memory-device, Device Memory>>
    section for clarity (internal merge request 4567).
  * Use the terminology "`drawing/dispatching command`" consistently, add it
    to the style guide, and remove occasional use of "`record`" or "`perform`"
    in refpage summaries of ftext:vkCmd* (internal merge request 4569).
  * Use asciidoctor attributes to genericize more instances of header file
    names, to enable future variant APIs (internal merge request 4581).
  * Fix SVG for some images that render incorrectly in Chrome on MacOS
    (internal merge request 4583).
  * Move some valid usage statements for
    `<<VK_QCOM_render_pass_shader_resolve>>` into
    slink:VkGraphicsPipelineCreateInfo, slink:VkRenderPassCreateInfo2, and
    the <<spirvenv-module-validation-standalone, Standalone SPIR-V
    Validation>> section (internal merge request 4584).

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

JeGX

Quote
Change log for June 7, 2021 Vulkan 1.2.180 spec update:
  * Update release number to 180 for this update.

Github Issues:

  * Add more details about zero shader group handles and draw linkage to
    etext:VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL* flags (public issue 1487).
  * Clarify that semaphore operations don't do work in a specific pipeline
    stage in slink:VkSemaphoreSubmitInfoKHR::pname:stageMask (public issue
    1501).
  * Fix markup in shared valid usage statements 03766 / 03767 (public issue
    1528).

Internal Issues:

  * Grammatical improvements for various ray tracing sections. Add statement
    that AABB intersections may be false-positives (internal issue 2597).
  * Disambiguate ASTC HDR block error handling in
    <<appendix-compressedtex-astc, ASTC Compressed Image Formats>> and the
    following "`ASTC decode mode`" section (internal issue 2603).
  * Fix some holes in `<<VK_EXT_vertex_input_dynamic_state>>`, including
    adding some missing common draw validity statements; an interaction
    with VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT; an interaction
    with code:nullDescriptor to flink:vkCmdBindVertexBuffers2EXT; and
    language to
    slink:VkGraphicsPipelineCreateInfo::pname:pVertexInputState (internal
    issue 2637, 2684).
  * Make elink:VkAccessFlagBits and elink:VkAccessFlagBits2KHR descriptions
    consistent and reorganize them in matching order (internal issue 2650).
  * Add slink:VkSpecializationInfo::pname:pMapEntries valid usage
    statement requiring the pname:constantID values be unique (internal
    issue 2668).
  * Clarify <<[[queries-wait-bit-not-set, the cases in which
    flink:vkGetQueryPoolResults returns VK_NOT_READY>> (internal issue
    2676).
  * Add spec language and refpages for API constants. With this change all
    APIs should be defined in the spec (internal issue 2698).
  * Move some restrictions in the <<interfaces, Shader Interfaces>> chapter
    into the <<spirvenv-module-validation-standalone, Standalone SPIR-V
    Validation>> section (internal merge request 4537).
  * Add missing member descriptions to slink:VkSurfaceCapabilities2EXT
    (internal merge request 4544).
  * Update glossary definition of "`Aspect`" to accomodate copy commands
    which can operate on multiple aspects (internal merge request 4586).
  * Add ename:VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHING_EXT
    enum to provide a standard way to disable caching of shader validation
    results (internal merge request 4589).
  * Remove the `pipeline` attribute from `vk.xml`, and the corresponding
    "`Pipeline Types`" column from the generated command properties tables.
    The `queues` attribute should be used instead (internal merge request
    4594).
  * Fix typos and improve consistency in the provisional video extension
    language (internal merge request 4598).
  * Use "`implementation-dependent`" spelling consistently, and update the
    style guide to match (internal merge request 4611).
  * Update <<ray-intersection-candidate-determination, ray tracing
    intersection equation>> for triangles to match other API. This cannot be
    distinguished in practice (internal vk-gl-cts issue 2846).

New Extensions:

  * `<<VK_KHR_shader_subgroup_uniform_control_flow>>`
  * `<<VK_EXT_global_priority_query>>`

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

New extensions:

- VK_KHR_shader_subgroup_uniform_control_flow
Quote
This extension allows the use of the `SPV_KHR_subgroup_uniform_control_flow`
SPIR-V extension in shader modules.
`SPV_KHR_subgroup_uniform_control_flow` provides stronger guarantees that
diverged subgroups will reconverge.

Developers should utilize this extension if they use subgroup operations to
reduce the work performed by a uniform subgroup.
This extension will guarantee that uniform subgroup will reconverge in the
same manner as invocation groups

- VK_EXT_global_priority_query
Quote
This device extension allows applications to query the global queue
priorities supported by a queue family.
It allows implementations to report which global priority levels are treated
differently by the implementation, instead of silently mapping multiple
requested global priority levels to the same internal priority, or using
device creation failure to signal that a requested priority is not
supported.
It is intended primarily for use by system integration along with certain
platform-specific priority enforcement rules.

JeGX

Quote
Change log for June 14, 2021 Vulkan 1.2.181 spec update:
  * Update release number to 181 for this update.

Github Issues:

  * Add stub slink:VkPipelineLayoutCreateFlagBits <enum> type in `vk.xml` to
    reduce spurious warnings from XML processing scripts that don't respect
    the `supported="disabled"` attribute, and update the registry schema
    documentation to make more clear that `extension` tags with this
    attribute should not be processed (public issue 1549).

Internal Issues:

  * Clarify implicit conversions between the vertex input attribute
    description format and the shader vertex attribute input type in the
    <<fxvertex-attrib-location, Attribute Location and Component
    Assignment>> and <<fxvertex-input-extraction>> sections (internal issue
    902).
  * Add text about the <<interfaces-alignment-requirements, base alignment
    of empty structures>> (internal issue 2174).
  * Clarify the use of rasterization order <<primrast-order,
    "`operations`">> (internal merge request 4582).
  * Allow any pipeline barrier command for queue transfers in the
    <<synchronization-queue-transfers, Queue Family Ownership Transfer>>
    section (internal merge request 4596).
  * Remove potentially confusing reference to
    ename:VK_ERROR_INVALID_SHADER_NV in the description of
    flink:vkCreateShaderModule (internal merge request 4602).
  * Improve visibility of instance creation callbacks by migrating some
    language from the `<<VK_EXT_debug_report>>` and `<<VK_EXT_debug_utils>>`
    appendix examples to the description of slink:VkInstanceCreateInfo
    (internal merge request 4614).
  * Fix markup for sparse image atomic requirements in the
    <<features-requirements, Feature Requirements>> section and for
    slink:VkDeviceCreateInfo valid usage statements (internal merge request
    4618).
  * Correct the definition of
    ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
    to constrain pname:chromaFilter, not pname:minFilter / pname:magFilter
    (internal merge request 4623).
  * Add level 3 headings in <<pipelines-cache, Pipeline Cache>> section
    (internal merge request 4627).
  * Clarify flink:vkCmdCopyAccelerationStructureKHR to add details on the
    copy command itself, as well as the etext:CLONE and etext:COMPACT copy
    modes (internal merge request 4631).
  * Remove `<mask>` tags from some SVG images in the provisional video
    extensions. These tags are not supported by components of the PDF
    toolchain. Removing them removes many warnings from the PDF build and is
    a workaround for editing the SVGs to use alternate constructs for the
    intended purpose, although it also make these images in the HTML output
    show the same artifacts as the PDF output.

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

JeGX

Quote
Change log for June 21, 2021 Vulkan 1.2.182 spec update:
  * Update release number to 182 for this update.

Github Issues:

  * Add XML attributes & schema updates to link untyped Vulkan object handle
    values to corresponding object types (public issue 1536).

Internal Issues:

  * Automatically generate links to extension proposal documents from
    extension appendices (internal issue 2713).
  * Clean up wording of flink:vkCmdWriteTimestamp and
    flink:vkCmdWriteTimestamp2KHR (internal issue 2425).
  * Fix hpp-compile CI stage after recent changes to Vulkan-Headers
    repository which generate additional header files.

New Extensions:

  * `<<VK_EXT_acquire_drm_display>>` (public pull request 1529).
  * `<<VK_EXT_multi_draw>>`
  * `<<VK_EXT_physical_device_drm>>` (public pull request 1356).
  * `<<VK_HUAWEI_subpass_shading>>`
  * `<<VK_NV_ray_tracing_motion_blur>>`

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

New extensions:

- VK_EXT_acquire_drm_display
Quote
This extension allows an application to take exclusive control of a display
using the Direct Rendering Manager (DRM) interface.
When acquired, the display will be under full control of the application
until the display is either released or the connector is unplugged.



- VK_EXT_multi_draw
Quote
Processing multiple draw commands in sequence incurs measurable overhead
within drivers due to repeated state checks and updates during dispatch.
This extension enables passing the entire sequence of draws directly to the
driver in order to avoid any such overhead, using an array of
slink:VkMultiDrawInfoEXT or slink:VkMultiDrawIndexedInfoEXT structs with
fname:vkCmdDrawMultiEXT or fname:vkCmdDrawMultiIndexedEXT, respectively.
These functions could be used any time multiple draw commands are being
recorded without any state changes between them in order to maximize
performance.


- VK_EXT_physical_device_drm
Quote
This extension provides new facilities to query DRM properties for physical
devices, enabling users to match Vulkan physical devices with DRM nodes on
Linux.


- VK_HUAWEI_subpass_shading
Quote
This extension allows applications to execute a subpass shading pipeline in
a subpass of a render pass in order to save memory bandwidth for algorithms
like tile-based deferred rendering and forward plus.
A subpass shading pipeline is a pipeline with the compute pipeline ability,
allowed to read values from input attachments, and only allowed to be
dispatched inside a stand-alone subpass.
Its work dimension is defined by the render pass's render area size.
Its workgroup size (width, height) shall be a power-of-two number in width
or height, with minimum value from 8, and maximum value shall be decided
from the render pass attachments and sample counts but depends on
implementation.


- VK_NV_ray_tracing_motion_blur
Quote
Ray tracing support in the API provides an efficient mechanism to intersect
rays against static geometry, but rendering algorithms often want to support
motion, which is more efficiently supported with motion-specific algorithms.
This extension adds a set of mechanisms to support fast tracing of moving
geometry:

  * A ray pipeline trace call which takes a time parameter
  * Flags to enable motion support in an acceleration structure
  * Support for time-varying vertex positions in a geometry
  * Motion instances to move existing instances over time

The motion represented here is parameterized across a normalized timestep
between 0.0 and 1.0.
A motion trace using OpTraceRayMotionNV provides a time within that
normalized range to be used when intersecting that ray with geometry.
The geometry can be provided with motion by a combination of adding a second
vertex position for time of 1.0 using
sname:VkAccelerationStructureGeometryMotionTrianglesDataNV and providing
multiple transforms in the instance using
sname:VkAccelerationStructureMotionInstanceNV.

JeGX

Quote
Change log for June 28, 2021 Vulkan 1.2.183 spec update:
  * Update release number to 183 for this update.

Github Issues:

  * Rewrite and simplify the <<interfaces-iointerfaces-matching, Interface
    Matching>> section. Clarify that results are undefined if the size of a
    vector mismatches (public issue 666; internal issues 1269, 2059, 2323).
  * Remove inappropriate `const` from `void *pNext` members of
    `returnedonly` structures in `vk.xml` (public issue 1482, internal issue
    2644).
  * Add a NOTE to the <<interfaces, Shader Interfaces>> chapter that SPIR-V
    execution model keywords with extension suffixes will always be present
    in spec builds, even in a build not supporting any extensions, since
    these keywords appear in the unified SPIR-V specification without such
    qualifiers (public issue 1483, internal issue 2621).
  * Modify `vk.xml` to include the Vulkan platform header via the path
    `vulkan/vk_platform.h` rather than just `vk_platform.h`
    (public pull request 1538).
  * Add length annotations for slink:VkCuLaunchInfoNVX (public issue 1548).
  * Describe slink:VkSubpassDescription::pname:pDepthStencilAttachment
    correctly as a pointer to a structure, not a pointer to an array of
    structures (public issue 1561).
  * Fix `structextends` attribute of
    slink:VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, declare its
    pname:pNext member correctly, and fix some typos in the related
    extension language (public issue 1565, internal issue 2724).

Internal Issues:

  * Add explicit valid usage statements for
    flink:vkCmdClearColorImage::slink:VkClearColorValue and
    slink:VkRenderPassBeginInfo::slink:VkClearValue (internal issue 2490).
  * Change the term "`vertex processing {shader} stage`" to
    "`pre-rasterization shader stage`" throughout the specification, link to
    a single definition, and add "`pre-rasterization`" to the glossary
    (internal issue 2634).
  * Add an `<implicitexternsync>` constraint for
    flink:vkResetCommandBuffers::pname:pool (internal issue 2646).
  * Fix typo `vkCmdResetEvent` -> `vkResetEvent` in flink:vkResetEvent valid
    usage statements (internal issue 2651).
  * Fix wording of scope dependencies for slink:VkMemoryBarrier2KHR,
    slink:VkBufferMemoryBarrier2KHR, and slink:VkImageMemoryBarrier2KHR
    members pname:srcAccessMask and pname:dstAccessMask (internal issue
    2654).
  * Require support for pname:shaderInt64 in the <<features-requirements,
    Feature Requirements>> section when pname:atomicInt64 features are
    supported (internal issue 2660).
  * Clarify ray tracing valid usage statements for cases where a parameter
    refers to an acceleration structure that must have been built (internal
    issue 2715).
  * Add a NOTE clarifying shader record buffer uniformity in the
    <<shader-binding-table, Shader Binding Table>> section (internal issue
    2719).
  * Minor clarifications and typo fixes to `<<VK_HUAWEI_subpass_shading>>`
    (internal issue 2722).
  * Add missing <spirvextension> entry in `vk.xml` to enable
    `SPV_KHR_subgroup_uniform_control_flow`
    (internal issue 2733).
  * Move SPIR-V valid usage statement from the
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    section to <<spirvenv-module-validation-standalone]] Standalone SPIR-V
    Validation>> (internal merge request 4637).
  * Add a new <<spirvenv-image-signedness, Signedness of SPIR-V Image
    Accesses>> section to allow the use of unsigned Sampled Types with
    code:SignExtend and signed code:Format decorations (internal merge
    request 4638).
  * Add missing slink:VkDeviceCreateInfo to `structextends` attribute of
    slink:VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT (internal merge
    request 4652).
  * Remove nonexistent pname:minFragmentSize from the <<limits-minmax, Limit
    Requirements>> table (internal merge request 4655).
  * Fix markup typo for `<<VK_NV_fragment_shader_barycentric>>` ifdef
    (internal merge request 4663).

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

JeGX

Quote
Change log for July 5, 2021 Vulkan 1.2.184 spec update:
  * Update release number to 184 for this update.

Github Issues:

  * Make description of
    slink:VkSparseImageMemoryRequirements::pname:formatProperties.imageGranularity
    consistent by replacing the nested structure descriptions with a simple
    description of pname:formatProperties (public issue 1444).
  * Update `<<VK_HUAWEI_subpass_shading>>` extension to rename
    flink:vkGetSubpassShadingMaxWorkgroupSizeHUAWEI to
    flink:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI and give it a
    dispatchable slink:VkDevice parameter (public issue 1564).
  * Fix labelling of "`Resource`" reference block in pipeline block
    diagrams (public issue 1582).

Internal Issues:

  * Replace the old <<resources-image-views-compatibility>> table with a
    simplified image type / image view type compatibility table, and move
    the parameter compatibility portions of the table into explicit valid
    usage statements (internal issue 2586).
  * Define the slink:VkPipelinCacheHeaderVersionOne structure in `vk.xml`
    instead of the previous "`Layout for pipeline cache header version one`"
    table (internal merge request 4011).
  * Make the `requires` attribute of the `spirvcapability` XML tag required
    when specifying a structure, even if what's required is
    `"VK_VERSION_1_0"`, to address a problem in the generated table from
    these tags (internal merge request 4689).

New Extensions:

  * `<<VK_NV_extermal_memory_rdma>>`

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

New extension:
- VK_NV_external_memory_rdma
Quote
This extension adds support for allocating memory which can be used for
remote direct memory access (RDMA) from other devices.


JeGX

Quote
Change log for July 20, 2021 Vulkan 1.2.185 spec update:
  * Update release number to 185 for this update.
  * Going forward we will probably be moving the default day for spec
    updates to Tuesday (Pacific time) rather than Monday.

Github Issues:

  * Clarify that only *device* extensions are required to be specified in
    valid usage statement for flink:vkCreateDevice (public issue 1567).
  * Fix extension dependencies for `<<VK_EXT_calibrated_timestamps>>` to
    include `<<VK_KHR_get_physical_device_properties2>>` (public issue
    1568).
  * Conditionalize xref to VkPhysicalDeviceSubgroupProperties in
    `<<VK_KHR_spirv_1_4>>` appendix so it does not show up in a 1.0 spec
    build (public issue 1574).
  * Relax portability usage of the identity swizzle in
    slink:VkImageViewCreateInfo valid usage statement 04465 (public
    KhronosGroup/Vulkan-Portability issue 27).

Internal Issues:

  * Document in the <<extendingvulkan-extensions-extensiondependencies,
    Extension Dependencies>> section that instance extensions do not have
    dependencies on device extensions, and add a similar requirement to the
    description of the `requires` attribute of extension tags in the
    registry schema document (internal issue 2387).
  * Fix `optional` attribute in XML for
    flink:vkCmdBindVertexBuffers2EXT::pname:pBuffers (internal issue 2574).
  * Remove redundant valid usage statements from flink:vkCmdPipelineBarrier,
    flink:vkCmdSetEvent, and flink:vkCmdResetEvent. Add missing VUs for
    slink:VkSubpassDependency and slink:VkSubpassDependency2 (internal issue
    2583).
  * Clarify that
    ename:VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
    must be supported in pname:bufferFeatures (internal issue 2686).
  * Clarify that a valid function pointer pname:fp returned from
    flink:vkGetInstanceProcAddr must not be `NULL` (internal issue 2720).
  * Relax code:Flat, code:NoPerspective, code:Sample, and code:Centroid
    storage class restriction in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section (internal issue 2721).
  * Clarify forward progress behavior of flink:vkAcquireNextImageKHR and
    flink:vkQueuePresentKHR (internal issue 2729).
  * Remove duplicated language describing queue submission in the
    <<fundamentals-execmodel, Execution Model>> and
    <<fundamentals-queueoperation, Queue Operation>> sections (internal
    issue 2736).
  * Describe the new pipeline stage
    ename:VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI in several sections
    of the <<synchronization>> chapter where it was missing (internal issue
    2745).
  * Improve formatting in the <<limits>> chapter, add support for the
    missing optionally: normative word macro, and replace most use of
    (non-normative) "`optionally`" with normative "`can:`". Update style
    guide to add more contractions and remove contractions from the spec.
    add a better description of the pname:shaderDrawParameters feature
    (internal merge requests 4699, 4708).
  * Fix name of parameter
    flink:vkGetMemoryRemoteAddressNV::pname:pMemoryGetRemoteAddressInfo to
    follow Vulkan conventions (internal merge request 4704).
  * Minor fixes for the <<resources-image-views-compatibility, image view
    compatibility table>> and related minor spec language fixes elsewhere
    (internal merge request 4709).

New Extensions:

  * `<<VK_EXT_shader_atomic_float2>>`
  * `<<VK_HUAWEI_persistent_thread>>`
  * `<<VK_KHR_present_id>>`
  * `<<VK_KHR_present_wait>>`

Miscellany:

  * Happy Lunar Landing Day!

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

New extenions:
- VK_EXT_shader_atomic_float2
Quote
This extension allows a shader to perform 16-bit floating-point atomic
operations on buffer and workgroup memory as well as floating-point atomic
minimum and maximum operations on buffer, workgroup, and image memory.

- VK_KHR_present_id
Quote
This device extension allows an application that uses the
`<<VK_KHR_swapchain>>` extension to provide an identifier for present
operations on a swapchain.


- VK_KHR_present_wait
Quote
This device extension allows an application that uses the
`<<VK_KHR_swapchain>>` extension to wait for present operations to complete.
An application can use this to monitor and control the pacing of the
application by managing the number of outstanding images yet to be
presented.

JeGX

Quote
Change log for August 3, 2021 Vulkan 1.2.187 spec update:
  * Update release number to 187 for this update.

Github Issues:

  * Add glossary terms for "`pipeline ray tracing instructions`" and "`ray
    tracing commands`" (public issue 1578).
  * Limit the code:OpTypeImage code:Unknown format restriction to storage
    images in the <<spirvenv-module-validation-runtime, Runtime SPIR-V
    Validation>> section (public issue 1588).
  * Fix slink:VkRect2D::pname:extent in a few places where it was
    misreferenced as pname:offset (public pull request 1590).

Internal Issues:

  * Clarify that depth values outside the range [0,1] become undefined
    following the depthClamp stage of the pipeline, by rearranging the
    <<fragops-depth, Depth Test>> section and adding a new "`Depth Clamping
    and Range Adjustment`" subsection (internal issues 2445, 2753).
  * Clarify valid usage statement 01843 for slink:VkDeviceQueueInfo2 to
    match similar statement for flink:vkGetDeviceQueue, and split off part
    of it into a new VU statement (internal issue 2645).
  * Fix a few enumerant and member names in the provisional video extensions
    to comply with the spec style guidelinse (internal issue 2710).
  * Update the descriptions of flink:vkCmdDrawMultiEXT and
    flink:vkCmdDrawMultiIndexedEXT to clarify how they are equivalent to
    calling underlying drawing commands multiple times with different
    parameters (internal issue 2757).
  * Renumber VUIDs which duplicated the numeric portion of another
    non-common VUID, and add a duplicate number detection test to CI to
    prevent recurrences (internal issue 2764).
  * Make code:SubgroupSize command scope uniform in compute dispatches
    (internal issue 2773).
  * Expand the list of valid image layouts for
    <<attachment-type-imagelayout, input attachments>>,
    <<descriptorsets-sampleimage, sampled images>>, and
    <<descriptorsets-combinedimagesampler, combined image samplers>> to
    include DEPTH_READ_ONLY_OPTIMAL and STENCIL_READ_ONLY_OPTIMAL (internal
    issue 2774).
  * Remove `flowRoot` SVG elements from a few recent image updates, as they
    are not supported by the current PDF toolchain (internal issue 2778).
  * Update to asciidoctor-chunker 1.0.4, adding support for `aria-label`
    accessibility tags on the chunked specification forward/back section
    navigation arrows (internal issue 2784).
  * Clean up description of flink:vkCmdClearAttachments and remove redundant
    information (internal merge request 4717).
  * Add a description of each of the
    flink:vkCmdWriteAccelerationStructuresPropertiesKHR::pname:queryPool
    query types (internal merge request 4728).
  * Add new valid usage statement to slink:VkMemoryAllocateInfo when
    allocating a memory object larger than the reported limit (internal
    merge request 4737).
  * Add missing description of pname:layerCount member of
    slink:VkFramebufferAttachmentImageInfo (internal merge request 4744).

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

JeGX

Quote
Change log for August 10, 2021 Vulkan 1.2.188 spec update:
  * Update release number to 188 for this update.

Github Issues:

  * Add missing `optional="true"` attributes to pname:pNext members. Enable
    `scripts/xml_consistency.py` in CI, and add check for this case (public
    pull request 1597).
  * Add missing markup (setting `refpage` attributes where they were needed
    for commonvalidity statements) to fix some broken valid usage ID link
    names (public issue 1598).
  * Update valid usage statement 02650 to use "`potential format features`"
    consistently with other recent changes (discussion on public
    Vulkan-ValidationLayers pull request 3139).

Internal Issues:

  * Clarify the role of <<ray-traversal-culling-face, face winding>> in the
    context of ray intersection candidate determination and alias
    ename:VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR to
    ename:VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, corresponding
    to the clarifications (internal issue 2780).
  * Add valid usage statement for flink:vkCmdBeginTransformFeedbackEXT
    requiring a valid graphics pipeline be bound (internal issue 2785).
  * Use the term <<acceleration-structure-def, "`constructed`">> to refer to
    an acceleration structure that was previously built or created by
    copying or deserialization of a built acceleration structure (internal
    merge request 4727).
  * Add explicit valid usage statements to flink:vkWaitForPresentKHR and
    slink:VkPresentInfoKHR requiring the corresponding features be enabled
    (internal merge request 4754).
  * Remove extraneous trailing periods from some valid usage statements
    (internal merge request 4759).

New Extensions:

  * `<<VK_EXT_load_store_op_none>>`

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

New extension:
- VK_EXT_load_store_op_none
Quote
This extension incorporates ename:VK_ATTACHMENT_STORE_OP_NONE_EXT from VK_QCOM_render_pass_store_ops, enabling applications to avoid unnecessary synchronization when an attachment is not written during a render pass.

JeGX

Quote
Change log for August 17, 2021 Vulkan 1.2.189 spec update:
  * Update release number to 189 for this update.

Github Issues:

  * Add parent check valid usage statements to flink:vkUpdateDescriptors
    (public issue 1581).
  * Document the feature requirement for separate depth/stencil layouts in
    the <<resources-image-layouts, Image Layouts>> section (public issue
    1583).
  * Revert a valid usage statement constraining
    slink:VkMemoryAllocateInfo::pname:allocationSize (public issue 1595).
  * Remove misleading reference to `z` from the description of image
    coordinates for slink:VkSamplerCreateInfo::pname:unnormalizedCoordinates
    (public issue 1602).
  * Fix typo in <<fxvertex-input-extraction>> section (public pull request
    1604).
  * Fix comment in example for `<<VK_EXT_debug_utils>>` appendix to
    correctly reference pname:objectHandle, not ptext:object (public pull
    request 1606).
  * Revert `vk_platform.h` path change in `vk.xml` from public pull request
    1538, which was causing build issues for some projects. We will revisit
    this in the future but did not want to put a problematic change into the
    next SDK update (public pull request 1610).

Internal Issues:

  * Use `hexapdf` for PDF optimization, rather than Ghostscript. This
    improves overall PDF generation time about 15-20%, and final PDF size by
    about 1/3 (internal issue 2422).
  * Improve contrast for better accessibility of HTML outputs, based on
    feedback from the ANDI tool. This includes updating the specification
    CSS in `config/khronos.css`, switching to the rouge source code
    highlighter instead of coderay, and overriding some of the rouge theme
    CSS (internal issue 2784).
  * Clarify that transforms are consumed only if transformData is non-null
    for slink:VkAccelerationStructureBuildRangeInfoKHR.txt (internal issue
    2787).
  * Make spec language describing bitmasks consistent as 'Bits which can: be
    set' (internal merge request 4762).
  * Support `optional` attribute in the valid usage statement generator for
    union types (internal merge request 4772).

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

Stefan

#151
QuoteChange log for August 29, 2021 Vulkan 1.2.190 spec update:

  * Update release number to 190 for this update.
  * Released a few days in advance of the usual Tuesday spec updates due to
    holiday meeting schedule.

Github Issues:

  * Make treatment of empty etext:Vk*FlagBits types consistent in `vk.xml`
    (public issue 1601 and merge request 1609)

Internal Issues:

  * Add more descriptive language for transforms in the
    <<ray-intersection-candidate-determination, Ray Intersection Candidate
    Determination>> section (internal issue 2709).
  * Update `-validate` logic in registry scripts to validate the `limittype`
    attribute presence and values where required (internal issue 2606).
  * Update common validity statements for access masks to allow shader
    pipeline bits to be use with ename:VK_ACCELERATION_STRUCTURE_READ_BIT
    (internal issue 2782).
  * Fix typo in the description of code:CullDistancePerViewNV (internal
    merge request 4769).
  * Various fixes and simplifications for
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> valid
    usage statements:
  ** Flatten markup for VK_KHR_shader_subgroup_extended_types valid usage
     statements (internal issue 1598)
  ** Flatten markup for VK_EXT_shader_atomic_float valid usage statements
     (internal issue 1598).
  ** Remove asciidoctor conditional check for
     `VK_KHR_storage_buffer_storage_class`, not needed because the SPIR-V
     specification is unified and `spirv-val` will throw an error if trying
     to use code:StorageBuffer without the proper extension / version being
     set (internal merge request 4779).

New Extensions:

  * `<<VK_KHR_shader_integer_dot_product>>`
  * `<<VK_EXT_primitive_topology_list_restart>>`

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

New extensions
- VK_KHR_shader_integer_dot_product
Quote
This extension adds support for the integer dot product SPIR-V instructions
defined in SPV_KHR_integer_dot_product. These instructions are particularly useful for neural network inference and training but find uses in other general purpose compute applications as well.

- VK_EXT_primitive_topology_list_restart
Quote
This extension allows list primitives to use the primitive restart index value. This provides a more efficient implementation when layering OpenGL functionality on Vulkan by avoiding emulation which incurs data copies.

JeGX

Quote
Change log for September 7, 2021 Vulkan 1.2.191 spec update:
  * Update release number to 191 for this update.

Internal Issues:

  * Update checker scripts to detect extension number conflicts in `vk.xml`,
    and run the check in CI (internal issue 2612).
  * Minor cleanup for the provisional video extensions, including
    documenting a few undocumented enums and structure members and some
    language cleanup (internal issue 2705).
  * Add a NOTE to flink:vkAllocateMemory.txt about protected memory
    allocation count limits (internal issue 2791).
  * Use "`cube map`" rather than "`cubemap`" spelling, and add this case to
    the style guide (internal merge request 4794).

New Extensions:

  * `<<VK_EXT_pageable_device_local_memory>>`

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


New extension:
- VK_EXT_pageable_device_local_memory
Quote
Vulkan is frequently implemented on multi-user and multi-process operating
systems where the device-local memory can be shared by more than one
process.
On such systems the size of the device-local memory available to the
application may not be the full size of the memory heap at all times.
In order for these operating systems to support multiple applications the
device-local memory is virtualized and paging is used to move memory between
device-local and host-local memory heaps, transparent to the application.

The current Vulkan specification does not expose this behavior well and may
cause applications to make suboptimal memory choices when allocating memory.
For example, in a system with multiple applications running, the application
may think that device-local memory is full and revert to making
performance-sensitive allocations from host-local memory.
In reality the memory heap might not have been full, it just appeared to be
at the time memory consumption was queried, and a device-local allocation
would have succeeded.
A well designed operating system that implements pageable device-local
memory will try to have all memory allocations for the foreground
application paged into device-local memory, and paged out for other
applications as needed when not in use.

When this extension is exposed by the Vulkan implementation it indicates to
the application that the operating system implements pageable device-local
memory and the application should adjust its memory allocation strategy
accordingly.

JeGX

Quote
Change log for September 14, 2021 Vulkan 1.2.192 spec update:
  * Update release number to 192 for this update.

Github Issues:

  * Correctly describe slink:VkDeviceQueueInfo2::pname:pNext (public issue
    1622).
  * Improve behavior of contact links from extension metadata generator
    (public merge request 1635).
  * Require slink:VkDeviceAddress in 1.0 spec conditional markup, matching
    XML (public issue 1636).

Internal Issues:

  * Turn <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    section into formal Valid Usage statements with assigned valid usage IDs
    (internal issue 1598).
  * Use `pass:[~~~~]` delimiters for `[source]` blocks inside reference page
    `[open]` blocks to bypass logic problem with VUID assignment script
    (internal issue 2040).
  * Update style guide to incorporate Khronos Inclusive Language document by
    reference. Followon changes will apply the suggestions as needed
    (internal issue 2293).
  * Add clarifications about ray tracing transform matrices to
    slink:VkAccelerationStructureGeometryTrianglesDataKHR,
    slink:VkAccelerationStructureBuildOffsetInfoKHR, and the
    <<ray-intersection-candidate-determination, Ray Intersection Candidate
    Determination>> section (internal issue 2709).
  * Clarify descriptor requirements for code:Buffer and code:Subpassdata in
    the <<interfaces-resources-correspondence, Shader Resource and
    Descriptor Type Correspondence>> table (internal issue 2751).
  * Add aliases for versioned extensions which don't treat the trailing
    version number as a separate word, such as
    ename:VK_KHR_MAINTENANCE1_SPEC_VERSION ->
    ename:VK_KHR_MAINTENANCE_1_SPEC_VERSION, and add a CI test in
    `scripts/xml_consistency.py` to try and detect future occurrences
    (internal issue 2810).
  * Add missing pname:sType and pname:pNext boilerplate descriptions to spec
    language for several elink:*Features structures that were missing it
    (though they did have them in the XML definition of the structures)
    (internal issue 2815).
  * Add extension and version crosslinks to generated reference pages,
    expressing the same information in the `Provided by` comments in
    generated API includes (internal issue 2816).
  * Move the old "`Fragment Shader Execution`" section from the <<shaders>>
    chapter to the <<fragops-shader, Fragment Shading>> section of the
    <<fragops>> chapter, change anchor names accordingly, and factor out
    common related language from several parts of the spec into this section
    (internal merge request 4765).
  * Allow access to the code:PrimitiveId builtin from shaders declared with
    the code:MeshShadingNV capability (internal merge request 4767).
  * Make the <<features-primitiveTopologyListRestart,
    pname:primitiveTopologyListRestart>> feature mandatory for
    `<<VK_EXT_primitive_topology_list_restart>>` (internal merge request
    4790).
  * Edit <<limits-types, Required Limit Types>> table to add Vulkan 1.2
    interactions for pname:filterMinmaxSingleComponentFormats and
    pname:filterMinmaxImageComponentMapping limits (internal merge request
    4802).
  * Add ename:VK_FORMAT_R10X6_UNORM_PACK16 and
    ename:VK_FORMAT_R12X4_UNORM_PACK16 to the list of 16-bit packed formats,
    and fix formatting of "`wildcard`" enums containing a placeholder _i_
    tag corresponding to supported integers (internal merge request 4803).
  * Refactor CI scripts to use the Makefile `allchecks` target as part of CI
    instead of multiple separate steps, allowing a quick local check
    equivalent to that part of CI, and update that target accordingly
    (internal merge request 4807).
  * Make slink:VkImageCreateInfo valid usage statement 01572 apply to all
    compressed formats (internal merge request 4812).

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

JeGX

Quote
Change log for September 21, 2021 Vulkan 1.2.193 spec update:
  * Update release number to 193 for this update.

Github Issues:

  * Use consistent `implicitexternsync` language in XML for
    flink:vkDestroyDevice (public issue 1482).
  * Clarify requirements of flink:vkGetInstanceProcAddr to match that of the
    Android loader when attempting to retrieve a global function with a
    non-NULL instance parameter (public issue 1605).
  * Add new elink:VK_DRIVER_ID reservations for upcoming Mesa drivers
    (public pull request 1642).

Internal Issues:

  * Fix flink:vkCmdEndDebugUtilsLabelEXT to clarify command buffer recording
    interactions with debug labels (internal issue 2777).
  * Improve NOTE for acceleration structure capture / replay in
    slink:VkAccelerationStructureCreateInfoKHR (internal issue 2769).
  * Add "`See Also`" crosslinks to extension refpages providing aliased APIs
    in API refpages (internal issue 2819).
  * Fix markup for core version (`VK_VERSION_1_0`, etc.) refpages -
    asciidoctor doesn't allow section headers here and this affected the
    specification appendix rendering (internal issue 2826).
  * Use open range notation for slink:VkSamplerCreateInfo
    ptext:addressMode[UVW] descriptions (internal issue 2829).
  * Replace term "`channel`" with "`component`" when discussing formats, and
    update glossary to help clarify formats such as
    ename:VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 and
    ename:VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 (internal merge
    request 4799).
  * Fix some primitive_topology_list_restart VUIDs to only apply if
    pname:primitiveRestartEnable is ename:VK_TRUE (internal merge request
    4818).
  * Fix slink:VkPhysicalDeviceShaderCorePropertiesAMD `limittype` attributes
    in XML (internal merge request 4819).
  * Fix accidentally duplicated VUIDs 06256 due to missing {accessMaskName}
    in VUID markup (internal merge request 4829).
  * Miscellaneous minor formatting and style fixes (internal merge requests
    4832, 4838).

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

JeGX

Quote
Change log for September 28, 2021 Vulkan 1.2.194 spec update:
  * Update release number to 194 for this update.

Github Issues:

  * Add missing `len` attribute to
    slink:VkCuModuleCreateInfoNVX::pname:pData (public merge request 1646).
  * Refer to dynamic state consistently from ftext:vkCmdSet* commands, and
    link to the definition of dynamic state (public issue 1428, but with
    expanded scope beyond the actual ask in that issue).

Internal Issues:

  * Fix incorrect member name in slink:VkRenderPassCreateInfo valid usage
    statement 02515 (internal issue 2484).
  * Fix XML dependency for `<<VK_NV_device_generated_commands>>` (internal
    issue 2818).
  * Add packed formats from `<<VK_KHR_sampler_ycbcr_conversion>>`` to the
    <<formats-packed, table of packed formats>> and improve description of
    packed format naming conventions (internal merge request 4798).

New Extensions

  * `<<VK_FUCHSIA_buffer_collection>>`

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


New extension:
- VK_FUCHSIA_buffer_collection
Quote
A buffer collection is a collection of one or more buffers which were
allocated together as a group and which all have the same properties.
These properties describe the buffers' internal representation such as its
dimensions and memory layout.
This ensures that all of the buffers can be used interchangeably by tasks
that require swapping among multiple buffers, such as double-buffered
graphics rendering.

By sharing such a collection of buffers between components, communication
about buffer lifecycle can be made much simpler and more efficient.
For example, when a content producer finishes writing to a buffer, it can
message the consumer of the buffer with the buffer index, rather than
passing a handle to the shared memory.

On Fuchsia, the Sysmem service uses buffer collections as a core construct
in its design.

VK_FUCHSIA_buffer_collection is the Vulkan extension that allows Vulkan
applications to interoperate with the Sysmem service on Fuchsia.

JeGX

Quote
Change log for October 5, 2021 Vulkan 1.2.195 spec update:
  * Update release number to 195 for this update.

Github Issues:

  * Add a NOTE to flink:vkDestroyQueryPool clarifying when a query pool can
    be destroyed (public issue 1647).

Internal Issues:

  * Begin cleanup of internal broken links in various builds of the specs,
    including generating a Ruby API map to be used by the asciidoctor macros
    to validate their API name arguments; using "nofollow" on github issue
    opening links to avoid link-checkers being interpreted as DOS attacks;
    improved checker scripts; minor markup fixes; and using the `apiext:`
    macro to replace `<<VK_KHR_extension_name>>`-style extension links
    everywhere (internal issue 2831).
  * Minor editorial cleanups to descriptions of
    apiext:VK_FUCHSIA_buffer_collection APIs (internal issue 2836).
  * Match `Cull Mask` SPIR-V name to pname:mask parameter name in the
    <<acceleration-structure, Acceleration Structures>> chapter (internal
    merge request 4844).
  * Add pname:minTexelOffset and pname:maxTexelOffset limit valid usage
    statements for code:OpImageSample* and code:OpImageFetch* in the
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    section (internal merge request 4845).
  * Add pname:maxFragmentDualSrcAttachments and
    pname:maxFragmentCombinedOutputResources limit valid usage statements
    for output and color attachments in the
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    section (internal merge request 4847).

New Extensions

  * `<<VK_KHR_format_feature_flags2>>`
  * `<<VK_KHR_maintenance4>>`
  * `<<VK_EXT_rgba10x6_formats>>`

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


New extension:
- VK_KHR_format_feature_flags2
Quote
This extension adds a new elink:VkFormatFeatureFlagBits2KHR 64bits format
feature flag type to extend the existing elink:VkFormatFeatureFlagBits which
is limited to 31 flags.
At the time of this writing 29 bits of elink:VkFormatFeatureFlagBits are
already used.

Because slink:VkFormatProperties2 is already defined to extend the Vulkan
1.0 flink:vkGetPhysicalDeviceFormatProperties entry point, this extension
defines a new slink:VkFormatProperties3KHR to extend the
slink:VkFormatProperties.

On top of replicating all the bits from elink:VkFormatFeatureFlagBits,
elink:VkFormatFeatureFlagBits2KHR adds the following bits :

  * ename:VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR and
    ename:VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR indicate
    that an implementation supports respectively reading and writing a given
    elink:VkFormat through storage operations without specifying the format
    in the shader.

  * ename:VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
    indicates that an implementation supports depth comparison performed by
    code:OpImage*Dref instructions on a given elink:VkFormat.
    Previously the result of executing a code:OpImage*Dref* instruction on
    an image view, where the pname:format was not one of the depth/stencil
    formats with a depth component, was undefined.
    This bit clarifies on which formats such instructions can be used.


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

The new features are as follows:

  * Allow the application to destroy their slink:VkPipelineLayout object
    immediately after it was used to create another object.
    It is no longer necessary to keep its handle valid while the created
    object is in use.
  * Add a new <<limits-maxBufferSize, pname:maxBufferSize>>
    implementation-defined limit for the maximum size sname:VkBuffer that
    can: be created.
  * Add support for the SPIR-V 1.2 code:LocalSizeId execution mode, which
    can be used as an alternative to code:LocalSize to specify the local
    workgroup size with specialization constants.
  * Add a guarantee that images created with identical creation parameters
    will always have the same alignment requirements.
  * Add new flink:vkGetDeviceBufferMemoryRequirementsKHR,
    flink:vkGetDeviceImageMemoryRequirementsKHR, and
    flink:vkGetDeviceImageSparseMemoryRequirementsKHR to allow the
    application to query the image memory requirements without having to
    create an image object and query it.
  * Relax the requirement that push constants must be initialized before
    they are dynamically accessed.
  * Relax the interface matching rules to allow a larger output vector to
    match with a smaller input vector, with additional values being
    discarded.


- VK_EXT_rgba10x6_formats
Quote
This extension enables the
ename:VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 format to be used without
a <<samplers-YCbCr-conversion, sampler {YCbCr} conversion>> enabled.

JeGX

Quote
Change log for October 13, 2021 Vulkan 1.2.196 spec update:
  * Update release number to 196 for this update.

Github Issues:

  * Clarify normative language for
    ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT in
    elink:VkImageUsageFlagBits, allowing two styles of implementation
    (public issue 1616).
  * Fix typo in flink:vkCmdSetScissor (public pull request 1659).
  * Reorder attributes of elink:VkFormatFeatureFlags2KHR in `vk.xml` for
    consistency (public pull request 1653).

Internal Issues:

  * More cleanup of internal broken links in various builds of the specs.
    Fix typos on xrefs and anchors, add stub pages for missing Flags and
    FlagBits types, update `spirvcapgenerator.py` to put anchors with the
    same table row they belong to, validate `apiext:` macro targets at build
    time, and don't generate API requirements for `<type>` tags with no
    `category`, eliminating spurious warnings for external types (internal
    issues 2864, 2866).
  * Update `htmldiff` scripts for Python3.
  * Add subsection titles and anchors in the <<fxvertex, Fixed-Function
    Vertex Processing>> chapter to make thematic breaks more clear (internal
    merge request 4867).

New Extensions

  * `<<VK_EXT_border_color_swizzle>>`
  * `<<VK_EXT_video_encode_h265>>` *provisional* H.265 video encode codec extension

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

New Extensions

- VK_EXT_border_color_swizzle
Quote
After the publication of VK_EXT_custom_border_color, it was discovered that
some implementations had undefined behavior when combining a sampler that
uses a custom border color with image views whose component mapping is not
the identity mapping.

Since VK_EXT_custom_border_color has already shipped, this new extension
VK_EXT_border_color_swizzle was created to define the interaction between
custom border colors and non-identity image view swizzles, and provide a
work-around for implementations that must pre-swizzle the sampler border
color to match the image view component mapping it is combined with.

This extension also defines the behavior between samplers with an opaque
black border color and image views with a non-identity component swizzle,
which was previously left undefined.


- VK_EXT_video_encode_h265
Quote
This extension allows applications to compress a raw video sequence by using
the H.265/HEVC video compression standard.

JeGX

Quote
Change log for November 2, 2021 Vulkan 1.2.197 spec update:
  * Update release number to 197 for this update.

Github Issues:

  * Align some of the provisional video standard headers enums and bitfields
    to have predictable sizes (public issue 1571).
  * Remove exporting of D3D memory handles from
    slink:VkExportMemoryWin32HandleInfoKHR (public pull request 1612).
  * Add language to slink:VkAccelerationStructureBuildGeometryInfoKHR
    explicitly stating that source and target acceleration structures are
    allowed to be the same or different during an update (public issue
    1641).
  * Fix typos (public pull request 1662).
  * Register remaining newly introduced `vk_video` types in `vk.xml` (public
    pull request 1663).

Internal Issues:

  * Clarify <<resources-external-sharing, ownership transfers on external
    resources>> (internal issue 2692).
  * Changes to (nearly) eliminate dead internal links and improve scripts:
  ** Correctly generate API dependencies on extensions and core versions in
     cases where "`spelling aliases`" were present
  ** Clean up a few incorrectly marked up links, anchors, and refpage block
     alias= attributes
  ** Use an API alias map to substitute promoted API names for promoted-to
     APIs when an older or restricted spec is being generated and the
     promoted-to API is not included
  * Tag sname:VkVideo{Encode,Decode}H26{4,5}ProfileEXT structures as
    extending slink:VkQueryPoolCreateInfo in `vk.xml` (internal issue 2861).
  * Grammar edits to slink:VkAccelerationStructureKHR (internal issue 2887).
  * Change the cited title of the <<LoaderInterfaceArchitecture>> document
    to "`Architecture of the Vulkan Loader Interfaces`" matching a recent
    change in KhronosGroup/Vulkan-Loader#685
    (internal merge request 4823).
  * Re-remove etext:VkVideoEncodeH265CapabilityFlagBitsEXT, which was
    accidentally reintroduced but is still unused (internal merge request
    4885).
  * Update wording for
    ename:VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR since it no
    longer contains `"update`" (internal merge request 4886).
  * Consistency edits to remove "`instance of`" when referring to a specific
    structure, and use "`render pass`" instead of "`renderpass`" as a noun
    (internal merge request 4896).
  * Add -version option to 'makeSpec' frontend build script.

New Extensions

  * `<<VK_KHR_dynamic_rendering>>`

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

New extension:
- VK_KHR_dynamic_rendering:
Quote
This extension allows applications to create single-pass render pass
instances without needing to create render pass objects or framebuffers.
Dynamic render passes can also span across multiple primary command buffers,
rather than relying on secondary command buffers.

JeGX

Quote
Change log for November 9, 2021 Vulkan 1.2.198 spec update:
  * Update release number to 198 for this update.

Github Issues:

  * Sort dependencies of "`Provided by`" comments in generated API includes,
    and remove duplicates (public issue 1483, internal issue 2620).
  * Remove max-width attribute from document headers, causing CSS to limit
    page width in wide windows (public pull request 1660).

Internal Issues:

  * Filter out `VK_VERSION_1_x` pages when generating refpage sources for a
    build that does not include the corresponding core version (internal
    issue 1971).
  * Adjust section header level for extension appendix refpages to match
    other refpages (internal issue 2151).
  * Add and fix protected memory valid usage statements to require queues be
    protected if any batch if a protected batch, and restrict indirect
    operations when pname:protectedNoFault is supported (internal issues
    2169, 2841)
  * Generate refpages to SPIR-V builtins, which were marked up in the spec
    source but not being extracted and built (internal issue 2395).
  * Clarify VUID 04918 regarding use of code:Location decorations (internal
    issue 2737).
  * Remove redundant nested VK_VERSION_1_1 conditional markup from the
    <<initialization>> chapter (internal issue 2851).
  * Add code:IdrPicFlag to code:StdVideoDecodeH264PictureInfoFlags for
    provisional video extensions (internal issue 2901).
  * Fix incorrect example code in apiext:VK_HUAWEI_subpass_shading appendix
    sample code (internal merge request 4889).
  * Promote ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT and
    ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT in a few
    places where the etext:KHR suffixes had not been removed (internal merge
    request 4902).
  * Add missing format properties consistency checks for
    slink:VkDrmFormatModifierPropertiesList2EXT and
    slink:VkAndroidHardwareBufferFormatProperties2ANDROID.
  * Minor editorial markup fixes.

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