Vulkan API specifications 1.0.4 released

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

Previous topic - Next topic

0 Members and 9 Guests are viewing this topic.

Stefan

QuoteChange log for October 18, 2024 Vulkan 1.3.299 spec update:

Internal Issues

  * Update XML feature description schema to support feature names in the
    `depends` attributes of `require` tags, as well as enabling AND/OR lists
    of feature dependencies, and use the new syntax to generate more of the
    content in the <<features-requirements, Feature Requirements>> section
    (internal issues 3947, 3949, and 3950).
  * Minimize use of extraneous "`set to`" and add corresponding style guide
    section and CI test (internal issue 3966).
  * Add a <<features-multisampledRenderToSingleSampled,
    pname:multisampledRenderToSingleSampled>> exception to common draw VU
    07474 (internal issue 4024).
  * Update VkVideoEncodeRateControlInfoKHR VU 08358 to allow
    initialVirtualBufferSizeInMs to equal virtualBufferSizeInMs (internal
    issue 4028).
  * Add conditional render state VU for vkCmdExecuteGeneratedCommandsEXT
    (internal issue 4037).
  * Combine common draw validity VUs 03417, 03418, 03419, and 08635 covering
    shader object and graphics pipeline viewport count (internal MR 6870).
  * Fix missing exception for
    VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR in video profile
    compatibility in <<video-profile-compatibility, Video Profile
    Compatibility>> (internal MR 6909).
  * Fix buffer offset calculation to not offset based on image offsets in
    the <<copies-buffers-images, Copying Data Between Buffers and Images>>
    section (internal MR 6919).
  * Fix and add VkImageCreateInfo and VkImageViewCreateInfo VUs to restrict
    sparse and 2D views, moving them to image create time (internal MR
    6920).
  * Fix minor asciidoc conditional markup errors causing errors when
    building with specific extensions, which required refactoring some
    vendor extension interactions with KHR extensions into the vendor
    extension (internal MR 6923).
  * Remove redundant VkWriteIndirectExecutionSetPipelineEXT VU 11028
    (internal MR 6926).
  * Improve cross-references to the deviceGeneratedCommands feature from
    different VUs to distinguish between the NV and EXT
    device_generated_commands extensions where relevant (internal MR 6933).
  * Update cross-references and XML descriptions of spirvcapability alias
    names to match alias naming introduced in SPIRV-Headers by
    KhronosGroup/SPIRV-Headers#447 (internal MR
    6936).
  * Fix UniformTexelBufferArrayDynamicIndexing VUs 10132 and 10133, and
    StorageTexelBufferArrayNonUniformIndexing VU 10140 to properly limit the
    VUs to when the corresponding capability is *not* declared (internal MR
    6938).
  * Mark VK_EXT_feedback_loop_layout and VK_EXT_feedback_loop_dynamic_state
    as `specialuse="glemulation,d3demulation"` (internal MR 6941).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/46e04bb59e0f85b9124899e694a477dd9025d17c

Stefan

QuoteChange log for October 25, 2024 Vulkan 1.3.300 spec update:

Github Issues

  * Add SHADY author ID (public PR 2448).
  * Migrate antora/Makefile targets into top-level Makefile (public PR
    2450).

Internal Issues

  * Update XML feature schema and generators to express more dependency
    cases, allowing replacing more hand-written feature specification
    language (internal issues 3949, 3947, 3950):
  ** Allows multiple versions of the same feature to be required in the xml
    (e.g. the same feature in two structs), without duplicating
    autogenerated text in the feature requirements section of the spec.
  ** Allows definition of "this or that feature" as a requirement.
  ** Adds features to depends attributes on require/remove blocks with
    features in them, enabling more complex feature dependencies.
  ** Enables more complex dependencies for feature requirements (and/or
    lists with no parentheses).
  * Fix typo in common draw dispatch validity VU 08607 (internal issue
    4056).
  * Clarify device-host concurrent resource access language for
    vkFlushMappedMemoryRanges and the <<resources-memory-overlap, Resource
    Memory Overlap>> section (internal MR 5771).
  * Improve readability of the <<features, Features>> chapter introduction
    (internal MR 6888).
  * Fix typo in VkGeneratedCommandsInfoEXT VU 11072 (internal MR 6904).
  * Move VkRayTracingPipelineCreateInfoNV VU 11008 from the common ray
    tracking pipeline create info validity section to be specific to that
    structure (internal MR 6905).
  * Add missing VkGeneratedCommandsInfoEXT VU mirroring
    VkGeneratedCommandsMemoryRequirementsInfoEXT VU 11011 (internal MR
    6948).
  * Remove duplicate VkSwapchainCreateInfoKHR VU 10156 (internal MR 6942).
  * Combine common draw validity discard rectangle VUs for
    vkCmdSetDiscardRectangleEnableEXT and vkCmdSetDiscardRectangleModeEXT
    (internal MR 6953).
  * Combine common draw validity sample location VUs for
    VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT and
    vkCmdSetSampleLocationsEnableEXT (internal MR 6955).
  * Combine common draw validity line stipple dynamic state VUs for shader
    objects and pipelines (internal MR 6956).
  * Remove vkCmdDrawMeshTasksIndirectCountNV,
    vkCmdDrawMeshTasksIndirectCountEXT, vkCmdDrawIndirectCount, and
    vkCmdDrawIndexedIndirectCount VUs since drawCount is already capped by
    maxDrawCount (internal MR 6969).
  * Fix typo in description of vkCmdCopyMemoryToMicromapEXT::pInfo (internal
    MR 6974).


New Extensions

  * VK_NV_cooperative_matrix2
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/c9304f8dd1aa20183942c6a3638b28c81b4e681d

Stefan

QuoteChange log for November 1, 2024 Vulkan 1.3.301 spec update:

Github Issues

  * Remove bullet about concurrent host / device atomics from the
    <<memory-model-atomic-operation, Atomic Operation>> section (public
    issue 2449).
  * Add docs.vulkan.org page information to validusage.json (public PR
    2453).

Internal Issues

  * Clarify promotion language in extension appendices to specify that only
    API definitions are promoted, while e.g. SPIR-V names remain unchanged
    (internal issue 4021).
  * Fix spec conditional markup to avert build issues when only
    VK_NV_ray_tracing is included (internal issue 4053).
  * Add VkGeneratedCommandsInfoEXT VU for zero maxSequenceCount and
    sequenceCountAddress (internal issue 4060).
  * Refactor the rounding mode specification for the
    <<spirvenv-correctly-rounded, Correctly Rounded>> and
    <<spirvenv-correctly-rounded-impl-defined, Correctly Rounded with
    Implementation-Defined Rounding Mode>> definitions (internal MR 6863).
  * Fix VkImageCreateInfo image flags and sparse flags VUs (internal MR
    6920).
  * Add GPU assisted validation and tooling to the extension proposal
    template (internal MR 6962).
  * Refactor the <<resources-acceleration-structures, Acceleration
    Structures>> section to more cleanly organize the KHR and NV extension
    API descriptions and to document
    VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV (internal MR 6973).
  * Replace common draw validity and VUs language depending on
    VK_*_line_rasterization extensions being enabled to depend on the
    corresponding features being enabled (internal MR 6976).
  * Add missing VkInstanceCreateInfo pNext VUs (internal MR 6979).
  * Move hostImageCopy feature enable VU from the vkCopy* commands to
    VkImageCreateInfo (internal MR 6982).

New Extensions

  * VK_HUAWEI_hdr_vivid
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/d095b206f80dc85140898a7979b2c3bb81aeb7f9

JeGX

QuoteChange log for November 21, 2024 Vulkan 1.3.302 spec update:
Github Issues

  * Add a NOTE clarifying that VkImageLayout VK_IMAGE_LAYOUT_GENERAL cannot
    support all device uses in all cases (public issue 2430).
  * Update and cross-reference descriptions of dispatching commands in the
    glossary and the introduction of the <<dispatch, Dispatching Commands>>
    and <<shaders-compute, Compute Shader>> sections, so that instead of a
    list, they are defined by the contents of the Dispatching Commands
    chapter (public issue 2457).

Internal Issues

  * Make descriptions of framebuffer coordinates consistent with the rest of
    the specification for `FragCoord` VkSubpassDescription, and in the
    <<primsrast-depthbias-computation, Depth Bias Computation>> and
    <<vertexpostproc-viewport, Controlling the Viewport>> sections (internal
    issue 962).
  * Replace uses of "`currently bound`" with "`bound`" and add a CI check
    enforcing the existing rule in the style guide (internal issue 993).
  * Clarify that <<fragops-shader-termination, termination and demotion>>
    discard samples, not fragments (internal issue 2125).
  * Add common draw vertex binding VU for setting
    VK_PRIMITIVE_TOPOLOGY_PATCH_LIST (internal issue 4073).
  * Add CI check that an instance extension does not have a dependency on a
    device extension (internal issue 2385).
  * Remove "`on the device`" when referring to feature enables (internal
    issue 4056).
  * Add a new 'featurelink' attribute to feature struct members that
    indicates the link name for a Boolean API feature when it differs from
    the feature name (internal issues 4042, 4057).
  * Use "`enumerant *specifies*`" wording consistently, per the style guide,
    and add a CI check for it (internal issue 4077).
  * Clarify the <<introduction>> chapter in descriptions of how the
    specification expresses requirements, fix minor issues, and reorder the
    chapter for increased readability (internal issue 3921).
  * Add missing <feature> tags to several extensions, a `nofeatures`
    attribute attribute for extensions to explicitly indicate they don't
    require any features, and added CI to check that every extension either
    requires at least one feature, or sets the `nofeatures` tag to true
    (internal issues 3946, 3951).
  * Add a NOTE to the VK_EXT_host_image_copy command descriptions that host
    image copy to / from an image is not internally synchronized (internal
    issue 4040).
  * Use consistent phrasing to describe links to feature names (internal
    issue 4056).
  * Fix XML tagging for VkSwapchainPresentFenceInfoEXT::pFences to
    accommodate array elements which can optionally be VK_NULL_HANDLE
    (internal issue 4067).
  * XML workaround so that APIs that should not appear in Vulkan SC
    generated artifacts are treated correctly (internal issue 4074).
  * Remove use of "`recommended`" as a normative term, and replace the
    couple of places it was used in that fashion. Add a new "`Use the Active
    Voice`" section of the style guide and apply its recommendations
    (internal issue 4085).
  * Clarify descriptor buffer binding limits for
    vkCmdBindDescriptorBuffersEXT and the
    <<limits-maxDescriptorBufferBindings, maxDescriptorBufferBindings>> and
    <<limits-maxSamplerDescriptorBufferBindings,
    maxSamplerDescriptorBufferBindings>> limits (internal issue 4086).
  * Clarify that the taskShader feature is mandatory in the
    VK_EXT_mesh_shader proposal document (internal issue 4088).
  * Remove overzealous `protectedNoFault` VUs from vkCmdDecodeVideoKHR and
    vkCmdEncodeVideoKHR (internal MR 6994).
  * Update VK_NVX_binary_import and VK_NVX_image_view_handle for 64-bit
    handles (internal MR 6995).
  * Remove stale references to `tg_start` and `tg_end` in the
    <<decode-av1-picture-info, Std Picture Information>> definition
    (internal MR 6996).
  * Add a VkDeviceCreateInfo VU for robustBufferAccessUpdateAfterBind
    (internal MR 7008).
  * Reorder ci to catch schema errors validation errors before spec
    generation, for more intelligible error messages (internal MR 7013).
  * Remove VkValidationFeaturesEXT VU 02968, as the validation layers no
    longer have the corresponding restriction (internal MR 7016).
  * Remove redundant vkCreateShadersEXT VU 09669 (internal MR 7021).
  * Update proposal documents to link into the right specification page in
    docs.vulkan.org instead of into the independent reference pages in the
    registry (internal MR 7026)

New Extensions

  * VK_EXT_vertex_attribute_robustness
  * VK_KHR_video_encode_av1
  * VK_KHR_video_encode_quantization_map
  * VK_NV_display_stereo

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

New extensions:

- VK_EXT_vertex_attribute_robustness
QuoteIt can be detrimental to performance for applications to have to define fake vertex attribute locations and buffer bindings for vertex shaders that may reference attribute locations for which there is no vertex data.

This extension allows applications to not have to specify fake vertex attribute locations, and if the vertex shader reads those attributes it will read (0,0,0,0) or (0,0,0,1).

- VK_KHR_video_encode_av1
QuoteThis extension builds upon the apiext:VK_KHR_video_encode_queue extension by adding support for encoding elementary video stream sequences compliant with the AV1 video compression standard.

- VK_KHR_video_encode_quantization_map
QuoteThis extension builds upon the apiext:VK_KHR_video_encode_queue extension by enabling fine grained control of codec-specific quantization parameters in video encode operations.

More specifically, it adds support for quantization maps:

Quantization delta maps to directly control the relative value of quantization parameter values on a per-block basis for all rate control modes (including when rate control is disabled).

Emphasis maps to indirectly control the relative quantization parameter values on a per-block basis when rate control is not disabled and the rate control mode is not configured to the implementation-defined default mode.

This extension is to be used in conjunction with other codec specific video encode extensions that specify the codec specific quantization parameters these maps control.

- VK_NV_display_stereo
QuoteThis extension allows the application to choose which type of 3D stereo hardware it wants to use so the driver can configure it properly. This configuration is useful for swapchains created from display surfaces because some environments do not have an intermediate windowing system available for easy configuration. This extension will override any stereo type configuration in the windowing system.

For HDMI 3D, only some display modes support stereo rendering, and a new structure is needed to expose that information to the application.


Stefan

QuoteChange log for December 3, 2024 Vulkan 1.4.303 spec update:

Internal Issues 

* Vulkan 1.4 initial release. Update release number to 303 for this update. The patch number will be used for all Vulkan 1.x spec updates, and continue to increment continuously from the previous Vulkan 1.3.302 update.
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/c7a3955e47d223c6a37fb29e2061c973eec98d0a

Stefan

QuoteChange log for December 20, 2024 Vulkan 1.4.304 spec update:

Github Issues

  * Add common draw vertex binding VUs for vertex attribute alignment
    (public issue 1277).
  * Fix XML `limittype` for the minMemoryMapAlignment limit (public
    issue 2461).
  * Remove vkCmdPushDescriptorSetWithTemplate explicitly for Vulkan SC in
    XML (public issue 2469).

Internal Issues

  * Fix typo in common draw validity VU 07834 (internal issue 4005).
  * Clarify that the pipeline binary key is always written by
    vkGetPipelineBinaryDataKHR (internal issue 4006).
  * Add queue family VUs for vkCmdPipelineBarrier{,2} (internal issue 4092).
  * Clarify definition of
    VkRayTracingPipelineInterfaceCreateInfoKHR::maxPipelineRayPayloadSize
    and maxPipelineRayHitAttributeSize (internal issue 4080).
  * Add VUs for arrays of inline uniform block descriptors (internal issue
    4083).
  * Adds VK_KHR_draw_indirect_count dependency to
    vkCmdDrawMeshTasksIndirectCountEXT XML (internal issue 4106).
  * Fix vkGetPhysicalDeviceImageFormatProperties and the
    <<features-required-format-support, Required Format Support>> section to
    refer to the `hostImageCopy` feature, rather than to the underlying
    Vulkan 1.4 or VK_EXT_host_image_copy that can provide that feature
    (internal issue 4120).
  * Add vkDestroyMicromapEXT VU to require the <<features-micromap,
    micromap>> feature be enabled (internal MR 7023).
  * Add VK_KHR_get_physical_device_properties2 dependency to
    VK_EXT_vertex_attribute_robustness XML (internal MR 7038).
  * Refactor and clean up common draw dispatch sampler VUs (internal MR
    7042).
  * Remove redundant <<spirvenv-module-validation-runtime, Runtime SPIR-V
    Validation>> VUs 08728, 08729, and 08730 (internal MR 7045).
  * Add missing XML `limittype` for the
    maxCombinedImageSamplerDescriptorCount limits (internal MR 7048).
  * Move non-mesh shader object VUs 07619 and 08684-08687 to remove them
    from mesh draws (internal MR 7054).
  * Add requirement for Vulkan 1.3 device support for
    VK_EXT_extended_dynamic_state2 in VkGraphicsPipelineCreateInfo VUs 03378
    and 04868 (internal MR 7057).
  * Add <<spirvenv-precision-operation, precisions for more SPIR-V
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/b04fc6a9c5893fe0f8345844a1d62ebed94d09d9

Stefan

#266
QuoteChange log for January 17, 2025 Vulkan 1.4.305 spec update:

Github Issues

  * Clarify dynamic array layer access in common draw dispatch VU 09600 and
    the <<resources-image-layouts, Image Layouts>> introduction (public
    issue 2474).
  * Remove Ash CI in both Github and Gitlab (public PR 2479).

Internal Issues

  * Consolidate common draw discard rectangle VUs and clarify behavior
    (internal issue 3400).
  * Clarify the maxMemoryAllocationSize limit (internal issue 4119).
  * Restrict vkCmdExecuteCommands VU 09376 to secondary command buffers
    (internal issue 4126).
  * Fix AV1 decode frameHeaderOffset typo in vkCmdDecodeVideoKHR VU 09251
    (internal MR 7043).
  * Add more detail about
    VkAccelerationStructureCreateInfoKHR::deviceAddress (internal MR 7067).
  * Clarify ambiguities related to <<decode-av1-picture-info, AV1 decode
    parameters>> FeatureEnabled, FeatureData, loop_filter_ref_deltas, and
    loop_filter_mode_deltas (internal MR 7070).
  * Remove common buffer memory barrier and image memory barrier VUs already
    converted by VUIDs 10387 and 10388 (internal MR 7075).
  * Remove redundant VkShaderCreateInfoEXT VUs 08452 and 08458 (internal MR
    7076).
  * Fix typo in VkSwapchainPresentScalingCreateInfoEXT VU 10154 (internal MR
    7077).
  * Remove redundant explicit VkPhysicalDeviceSurfaceCapabilitiesKHR VU
    06523 (internal MR 7078).
  * Remove redundant VkWriteDescriptorSetAccelerationStructureKHR and
    VkWriteDescriptorSetAccelerationStructureNV VUs 02236 and 03747
    (internal MR 7079).
  * Remove redundant vkCmdBindShadersEXT feature bit VUs 08474, 08475,
    08490, and 08491, (internal MR 7083).
  * Revert vkCmdWaitEvents2 dependencyFlags VU that should not have been
    removed (internal MR 7089).
  * Reword common draw vertex binding vertex attribute VU 10390 (internal MR
    7091).
  * Fix asciidoctor markup for the VK_QCOM_image_processing proposal and
    update some descriptions (internal MR 7097).


New Extensions

  * VK_ARM_pipeline_opacity_micromap
  * VK_KHR_depth_clamp_zero_one
  * VK_KHR_maintenance8

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

New Extensions:

- VK_ARM_pipeline_opacity_micromap
QuoteThe Opacity Micromap extension VK_EXT_opacity_micromap supports the new pipeline creation flag VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT, indicating that the ray tracing pipeline may be used with acceleration structures referencing micromaps. This allows for possible optimizations, knowing beforehand that opacity micromaps may be used with the pipeline.

- VK_KHR_depth_clamp_zero_one
QuoteThis extension is based on the apiext:VK_EXT_depth_clamp_zero_one extension. This extension gives defined behavior to fragment depth values which end up outside the conventional [0, 1] range. It can be used to ensure portability in edge cases of features like depthBias. The particular behavior is chosen to match OpenGL to aid porting or emulation.

- VK_KHR_maintenance8
Quoteapiext:VK_KHR_maintenance8 adds a collection of minor features, none of which would warrant an entire extension of their own.

The new features are as follows:

Allow copies between depth/stencil and "matching" color attachments

Allow dstCache in vkMergePipelineCaches to be implicitly synchronized.

Require src/dst sync scopes to work when doing queue family ownership transfers

Support Offset (as an alternative to ConstOffset) image operand in texture sampling and fetch operations

Use the SPIR-V definition of code:OpSRem and code:OpSMod, making these operations produce well-defined results for negative operands

Loosen layer restrictions when blitting from 3D images to other image types

Add space for an additional 64 access flags for use with VkMemoryBarrier2, VkBufferMemoryBarrier2, and VkImageMemoryBarrier2

Stefan

#267
QuoteChange log for January 24, 2025 Vulkan 1.4.306 spec update:
Github Issues

  * Refactor binary blob text to consistently specify how structures are
    written to the blob (based on public PR 2477).

Internal Issues

  * Update common draw and draw vertex binding VUs to allow graphics
    pipelines to ignore tessellation / geometry dynamic state if not using
    that stage (internal issue 3982)
  * Clarify in vkUpdateDescriptorSets that descriptors are just a bag of
    bits until they are dereferenced (internal issue 4125)
  * Use correct xref for the term "`multi-planar`" (internal issue 4144)
  * Remove VU 06323 from runtime SPIR-V VUs (internal issue 4147)
  * Clarify that the <<sparsememory, initial state of sparse resources>> is
    unbound (internal MR 7123).
  * Move mesh shader VUs 08694 and 08695 from common draw validity to common
    draw mesh validity, so they only affect mesh-drawing commands (internal
    MR 7126).
  * Fix typo in VU 01708 (internal MR 7139).

New Extensions

  * VK_EXT_external_memory_metal
  * VK_KHR_video_maintenance2

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

New Extensions:
- VK_EXT_external_memory_metal
QuoteAn application may wish to reference device memory in multiple Vulkan device instances, in multiple processes, and/or in Metal API. This extension enables an application to export and import Metal handles from Vulkan memory objects such that the underlying resources can be referenced outside the scope of the Vulkan device instance that created them.

- VK_KHR_video_maintenance2
QuoteVK_KHR_video_maintenance2 adds a collection of minor video coding features, none of which would warrant an entire extension of their own.

The new features are as follows:

Allow video coding control commands (such as video session reset) to be issued without the need for a bound video session parameters object for video decode operations that would otherwise require the use of video session parameters objects.

Allow applications to specify codec-specific parameter sets inline for each decode operation instead of having to construct video session parameters objects.

Require support for ename:VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR in all applicable video encode profiles.

Provide additional guarantees on Video Std parameters that the encoder implementation will not override.

Stefan

QuoteChange log for January 30, 2025 Vulkan 1.4.307 spec update:
Internal Issues

  * Update common blit image VUs to clamp slice blitting to a single
    layer/slice when the `maintenance8` feature is supported (internal issue
    4160).
  * Mention added SPIR-V version support that was not previously shown for
    <<versions-1.1, Vulkan Version 1.1>> (internal issue 4166).
  * Update the introduction to the <<extensions, Layers & Extensions>>
    appendix to reflect how we publish specifications now (internal MR
    7131).
  * Update VkSurfaceFormat2KHR VU 06750 to depend on the underlying
    extension not being support, rather than the
    pname:imageCompressionControlSwapchain feature (internal MR 7138).

New Extensions

  * VK_NV_cooperative_vector
  * VK_NV_cluster_acceleration_structure
  * VK_NV_partitioned_acceleration_structure
  * VK_NV_ray_tracing_linear_swept_spheres


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

Stefan

#269
QuoteChange log for February 7, 2025 Vulkan 1.4.308 spec update:
Github Issues

  * Correct typos (public PRs 2485, 2489, 2493, 2494).

Internal Issues

  * Better specify <<interfaces-iointerfaces-locations, Location and
    Component Assignment>> (internal issues 1954, 2758, 3445).
  * Add missing conditional markup for the
    VK_KHR_video_encode_quantization_map extension (internal MR 7148).
  * Clarify wording around <<ray-intersection-confirmation, AABB primitive
    bounds>> (internal issue 4134).
  * Add missing common draw VU for
    VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT (internal issue
    4150).
  * Fix grammar from the feature requirements generator script when one of
    exactly two features is required (internal issue 4170).
  * Add missing `returnedonly` to XML for
    VkPhysicalDeviceSchedulingControlsPropertiesARM and
    VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV (internal MRs 7156
    and 7157).
  * Add `structextends` to
    VkAccelerationStructureGeometryLinearSweptSpheresDataNV and
    VkAccelerationStructureGeometrySpheresDataNV (internal MR 7163).
  * Fix VkCooperativeVectorPropertiesNV inputType / inputInterpretation
    mixup for packed types (internal MR 7172).

New Extensions

  * VK_NV_present_metering

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

New Extension:
- VK_NV_present_metering
QuoteThis extension is provisional and should: not be used in production applications.

This extension is used to evenly meter presents.

Stefan

QuoteChange log for February 21, 2025 Vulkan 1.4.309 spec update:
Github Issues

  * Fix CullPrimitiveEXT VUs (public PR 2475).
  * Fix promoted extension dependencies in vk.xml (public PR 2492).
  * Fix XML dependency of VK_KHR_video_maintenance2
    (public Vulkan-ValidationLayers issue 9464).

Internal Issues

  * Clarify VUs for
    VkAccelerationStructureBuildRangeInfoKHR::primitiveOffset in cases where
    packed formats are used (internal issue 4058).
  * Add bufferFeatures restriction to VkFormatProperties for depth/stencil
    and multi-planar formats (internal issue 4155).
  * Add a standalone SPIR-V validation VU requiring that interpolation
    qualifiers match for any given location (internal issue 4161).
  * Clarify template text in transcluded tag::features language used to
    describe features consistently (internal issue 4190).
  * Fix XML `limittype` attributes for
    VkPhysicalDeviceCooperativeVectorPropertiesNV (internal MR 7160).
  * Specify that only the lower 32 bits are used in VkStridedDeviceAddressNV
    (internal MR 7173).
  * Add Vulkan object and base generator scripts for inclusion in
    Vulkan-Headers (internal MR 7180),
  * Update links to SPIR-V registry and add a missing spirvextension XML
    block (internal MR 7187).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/5a38e1f41285241a29f6428978aae6d1cf13fd16

Stefan

QuoteChange log for March 7, 2025 Vulkan 1.4.310 spec update:

Github Issues

  * Add VU for relaxed control barrier with storage class semantics (public
    PR 2495).
  * Fix typo for structure cross reference in the
    VK_KHR_ray_tracing_pipeline extension appendix (public issue 2503).
  * Add aliases to VulkanObject generator (public Vulkan-Headers issue 530).
  * Add FullType to VulkanObject generator (public Vulkan-Headers issue
    533).

Internal Issues

  * State that the <<vertexpostproc-transform-feedback, Transform Feedback>>
    counts increment even when the output is not written to (internal issue
    3054).
  * Add VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT filtering rule to
    the <<textures-depth-compare-operation, Depth Compare Operation>>
    section (internal issue 3058).
  * Add dynamic equivalent of VkGraphicsPipelineCreateInfo VU 02766
    (internal issue 3372).
  * Add common build acceleration structure device VU for disabling
    VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT in instances
    (internal issue 3768).
  * Add some more descriptive language for data_update to the
    <<acceleration-structure-update, Acceleration Structure Update Rules>>
    (internal issue 3769).
  * Remove XML tagging of Vulkan 1.3 as supporting
    SPV_KHR_subgroup_uniform_control_flow (internal issue 4171).
  * Update XML and add explicit VU to VkDependencyInfo for the
    VkMemoryBarrier2 pNext chain (internal issue 4174).
  * Swap order of aliasing for NV and EXT device_generated_command enums to
    follow the usual XML convention (internal issue 4182).
  * Clarify that <<interfaces-fragmentoutput, fragment outputs>> are
    discarded with no attachments (internal issue 4186).
  * Add more returnedonly="true" tagging to XML for structures extending
    VkPhysicalDeviceProperties2 (internal MR 7171).
  * Use limittype="exact" for all VkBool32 limits in XML, update description
    in the registry schema document, and add a CI check to disallow the old
    "bitmask" limit type in this context (internal MR 7189).
  * Add missing attributes so provisional="true" matches
    platform="provisional", due to different downstream consumers needing
    one or the other attribute (internal MR 7196).
  * Mention that a pipeline barrier is needed to resume transform feedback
    with counter buffers for vkCmdBeginTransformFeedbackEXT (internal MR
    7198).
  * Add Vulkan prefix to the Roadmap limits (internal MR 7206).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/ab5fa3690263718c4c4dc8f7110ba4a52528e063

Stefan

#272
QuoteChange log for March 21, 2025 Vulkan 1.4.311 spec update:

Github Issues

  * Clarify that all specified vkCmdClearAttachments::pRects are cleared in
    all specified attachments (public issue 2497).
  * Add VkPushConstantRange link in VkPipelineLayoutCreateInfo (public PR
    2508).
  * Link _identically defined_ to the glossary definition (public PR 2510).

Internal Issues

  * Add binary <<fundamentals-binaryresults, Opaque Binary Data Results>>
    section to the Fundamentals chapter, and describe exceptions from this
    default behavior in legacy commands behaving differently (internal issue
    4101).
  * Update common draw dispatch VU 07753 to require that an accessed
    VkBufferView's numeric type must match the OpTypeImage (internal issue
    4128).
  * Annotate the <<limits-required, Required Limits>> table so all limits
    with multiple values shown explicitly tag them as Vulkan core or a
    Roadmap limit (internal issue 4167).
  * Clarify that STD_VIDEO_H264_PROFILE_IDC_BASELINE indicates support for
    the constrained baseline profile only in VkVideoDecodeH264ProfileInfoKHR
    and VkVideoEncodeH264ProfileInfoKHR (internal MR 7153).
  * Update promotion language in some extension appendices that were
    initially partially promoted, and further promoted in later core
    versions (internal MR 7191).
  * Invoke scripts in CI explicitly with python3 so execute bit is not
    needed (internal MR 7215).
  * Ignore antora generated files in .gitignore (internal MR 7217).
  * Update descriptions of VkDebugUtilsMessengerCallbackDataEXT members
    pMessageIdName, messageIdNumber, and pMessage (internal MR 7218).
  * Conditionalize VkDependencyInfo VU 10606 for VK_KHR_maintenance8
    (internal MR 7220).
  * Add Enum / Flag value and value string to the Vulkan Object generator
    (internal MR 7221).
  * Numerous minor markup fixes and missing boilerplate sType / pNext member
    descriptions detected by new checker scripts (internal MRs 7228, 7229,
    7230).
  * Use Python f-strings more consistently (internal MR 7231).
  * Fix math for VK_QCOM_fragment_density_map_offset to match the shipping
    implementation (internal MRs 7237, 7240).
  * Update limittypes for VkBool32 limits in vk.xml again after discovering
    the previous update caused issues with Vulkan-Profiles' interpretation
    (internal MR 7243).

New Extensions

  * VK_EXT_fragment_density_map_offset
  * VK_KHR_shader_bfloat16

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

New Extensions:
- VK_EXT_fragment_density_map_offset
QuoteThis extension allows an application to specify offsets to a fragment density map attachment, changing the framebuffer location where density values are applied to without having to regenerate the fragment density map.

- VK_KHR_shader_bfloat16
QuoteThis extension enables support for bfloat16 ("brain float") operations in shaders as defined in SPV_KHR_bfloat16.

Stefan

QuoteChange log for April 4, 2025 Vulkan 1.4.312 spec update:
Github Issues

  * Fix SRGB alpha numeric formats in XML (public issue 2513).

Internal Issues

  * Update BUILD.adoc to refer to the `htmldiff` script instead of the
    currently non-working `diff_html` Makefile target (internal issue 4210).
  * Clarify that resolves may ignore sRGB for vkCmdResolveImage and
    VkResolveModeFlagBits (internal issue 4181).
  * Upgrade <<ray-traversal-watertight, Watertightness>> from should: to
    must: (internal MR 7208).
  * Add standalone SPIR-V VU for explicit layout decorations, referring to
    the <<interfaces-explicit-layout-decorations>> section (internal MR
    7256).
  * Merge changes from Vulkan SC 1.0.18 to main (internal MR 7259).
  * Add VU fix for common blit image VUs 10579 and 10580 (internal MR 7261).

New Extensions

  * VK_NV_external_compute_queue_vendor
  * VK_QCOM_tile_shading
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/ec56ad8828af2b089de2fc7a64cf59c588d8c753

Stefan

QuoteChange log for April 18, 2025 Vulkan 1.4.313 spec update:
Internal Issues

  * Add common draw vertex binding VUs for primitive topology (internal
    issue 3499).
  * Add language about null index opacity micromaps to
    VkAccelerationStructureTrianglesOpacityMicromapEXT (internal issue
    4220).
  * Add common stage mask VUs to require feature enablement for pipeline
    stages (internal issue 4233).
  * Add runtime SPIR-V VUs for workgroup layout storage rules (internal
    issue 4255).
  * Update VkBufferDeviceAddressInfo and vkGetBufferOpaqueCaptureAddress for
    forbid obtaining the device address of a non-sparse and non-mapped
    buffer (internal MR 6883).
  * Rewrite the <<fundamentals-objectmodel-lifetime, Object Lifetime>>
    section to describe common shared behavior, while noting that exceptions
    are listed with the commands that have those exceptions, rather than in
    this section (internal MR 7132).
  * Refactor and improve the XML RNC schema, based on similar changes to the
    OpenXR schema. Add scripts/checkXml.sh (internal MR 7227).
  * Mark structure members as `externsync` directly, rather than marking the
    command parameters passing those structures (internal MR 7233).
  * Move opacity micromap and displacement micromap geometry rules to the
    right section (internal MR 7266).
  * Mark VK_NV_displacement_micromap as deprecated, referring to
    VK_NV_cluster_acceleration_structure instead (internal MR 7271).
  * Fix typo in vkCreateMicromapEXT (internal MR 7275).
  * Require fragment density map offsets to match across a render pass in
    VkRenderPassFragmentDensityMapOffsetEndInfoEXT (internal MR 7279).
  * Add nextStage shader object VU to common draw validity (internal MR
    7280).
  * Revert back to should: when describing <<ray-traversal-watertight,
    Watertightness>> (internal MR 7295).
  * Add common dispatch VU for binding compute shaders (internal MR 7296).
  * Fix VkRayTracingPipelineCreateInfoKHR VU 10392 (internal MR 7303).

New Extensions

  * VK_QCOM_tile_memory_heap

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

Stefan

QuoteChange log for May 2, 2025 Vulkan 1.4.314 spec update:
Github Issues

  * Clarify update-after-bind descriptor limits in
    VkPipelineLayoutCreateInfo VUs (public issue 2515).
  * Fix union name markup in VkPerformanceValueDataINTEL to omit the
    un-needed union name (public PR 2526).
  * Fix pname: markup in VkSurfaceCapabilitiesFullScreenExclusiveEXT to
    match the member name in the XML (public PR 2527).

Internal Issues

  * Ad image layout mismatch VUs for vkCmdPipelineBarrier (internal issue
    4240).
  * Add `deprecates` attributes to XML `version` tags to enable marking
    individual APIs as deprecated (internal MR 7069).
  * Merge VK_KHR_maintenance8 validity language into vkCmdWaitEvents2 VU
    10394 (internal MR 7118).
  * Add missing XML `externsync` attribute on queue parameters in
    VK_EXT_debug_utils (internal MR 7268).
  * Delete conflicting VkRenderPassFragmentDensityMapOffsetEndInfoEXT
    language already addressed by VUs (internal MR 7268).
  * Fix external link to GLSL registry in VK_NV_cooperative_vector appendix
    (internal MR 7313).

New Extensions

  * VK_KHR_robustness2 (for Roadmap 2026) (internal MR 7143).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/86c8fd72055a859f08fff20182ef758089dd180a