Vulkan API specifications 1.0.4 released

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

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Stefan

QuoteChange log for July 21, 2023 Vulkan 1.3.259 spec update:
Internal Issues
  * Remove dangling reference to nonexistent
    `StdVideoH265ShortTermRefPicsSps` in `video.xml` (internal issue 3565).
  * Rename ftext:vkCmdUpdatePipelineIndirectBuffer to
    flink:vkCmdUpdatePipelineIndirectBufferNV in the just-released
    apiext:VK_NV_device_generated_commands_compute extension (internal issue
    3568).
  * Add a CI check for undefined attributes in the spec build (internal
    issue 3567).

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

Stefan

#221
QuoteChange log for July 28, 2023 Vulkan 1.3.260 spec update:

Internal Issues

  * Refactor `parse_dependency.py:dependencyLanguage()` into a more useful
    form for downstream components such as the validation layers (internal
    issue 3555).
  * Add CI check to `xml_consistency.py` for API names added by extensions
    which have suffix inconsistencies (internal issue 3568).
  * Add notes to flink:vkCreateAccelerationStructureKHR and
    flink:vkCreateMicromapEXT about data capture/replay (internal merge
    request 6015).
  * Add missing explicit common parent VUs for flink:vkCreateImageView and
    flink:vkGetMicromapBuildSizesEXT (internal merge request 6016).
  * Add VU to slink:VkCommandBufferBeginInfo requiring the
    pname:commandBuffer support graphics operations (internal merge request
    6025).
  * Unify unavailable query VUs for flink:vkCmdWriteTimestamp and
    flink:vkCmdWriteTimestamp2 (internal merge request 6027).
  * Make slink:VkGraphicsPipelineLibraryCreateInfoEXT::pname:pNext a `const`
    pointer (internal merge request 6028).

New Extensions

  * apiext:VK_KHR_maintenance5
  * apiext:VK_AMDX_shader_enqueue


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

New Extensions:
- VK_KHR_maintenance5
QuoteVK_KHR_maintenance5 adds a collection of minor features, none of which would warrant an entire extension of their own.

The new features are as follows:

A new ename:VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR format

A new ename:VK_FORMAT_A8_UNORM_KHR format

A property to indicate that multisample coverage operations are performed after sample counting in EarlyFragmentTests mode

Relax VkBufferView creation requirements by allowing subsets of the associated VkBuffer usage using sname:VkBufferUsageFlags2CreateInfoKHR

A new entry point flink:vkCmdBindIndexBuffer2KHR, allowing a range of memory to be bound as an index buffer

flink:vkGetDeviceProcAddr must return code:NULL for supported core functions beyond the version requested by the application.

A property to indicate that the sample mask test is performed after sample counting in EarlyFragmentTests mode

vkCmdBindVertexBuffers2 now supports using VK_WHOLE_SIZE in the pSizes parameter.

A default size of 1.0 is used if code:PointSize is not written

Shader modules are deprecated - applications can now pass slink:VkShaderModuleCreateInfo as a chained struct to pipeline creation via slink:VkPipelineShaderStageCreateInfo

A function flink:vkGetRenderingAreaGranularityKHR to query the optimal render area for a dynamic rendering instance.

A property to indicate that depth/stencil texturing operations with enum:VK_COMPONENT_SWIZZLE_ONE have defined behavior

Add flink:vkGetImageSubresourceLayout2KHR and a new function flink:vkGetDeviceImageSubresourceLayoutKHR to allow the application to query the image memory layout without having to create an image object and query it.

Allow ename:VK_REMAINING_ARRAY_LAYERS as the pname:layerCount member of slink:VkImageSubresourceLayers

Adds stronger guarantees for propagation of ename:VK_ERROR_DEVICE_LOST return values

A property to indicate whether code:PointSize controls the final rasterization of polygons if polygon mode is ename:VK_POLYGON_MODE_POINT

Two properties to indicate the non-strict line rasterization algorithm used

Two new flags words elink:VkPipelineCreateFlagBits2KHR and elink:VkBufferUsageFlagBits2KHR

Physical-device-level functions can now be called with any value in the valid range for a type beyond the defined enumerants, such that applications can avoid checking individual features, extensions, or versions before querying supported properties of a particular enumerant.

Clarification that copies between images of any type are allowed, treating 1D images as 2D images with a height of 1.

- VK_AMDX_shader_enqueue
QuoteThis extension adds the ability for developers to enqueue compute shader workgroups from other compute shaders.

JeGX

QuoteChange log for August 4, 2023 Vulkan 1.3.261 spec update:
Github Issues

  * Disallow mixing multi-present-mode swapchains in slink:VkPresentInfoKHR
    (public issue 2151).
  * Clarify mapping between wait semaphores and fences for
    slink:VkSwapchainPresentFenceInfoEXT (public pull request 2152).
  * Fix incorrect link to `GLSL_EXT_shader_tile_image` extension
    specification (public pull request 2178).
  * Fix formatting issues in apiext:VK_KHR_maintenance5 (public pull request
    2180).
  * Fix bad explanation of
    slink:VkBufferUsageFlags2CreateInfoKHR::pname:usage (public pull request
    2182).
  * Fix markup to improve short descriptions for some
    apiext:VK_NV_device_generated_commands_compute command and structure
    refpages (public issue 2184).
  * Fix VUs for flink:vkGetQueryPoolResults and
    flink:vkCmdCopyQueryPoolResults to disallow
    ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR for performance queries
    (public issue 2185).

Internal Issues

  * Add some VUs for bind buffer and image commands to require that buffers
    created with the
    ename:VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT flag
    must only be bound to device memory that was likewise allocated
    (internal merge request 5993).
  * Add slink:VkGraphicsPipelineCreateInfo and common draw vertex binding
    VUs for 64-bit input component count matching (internal merge request
    6008).
  * Remove duplicate mesh shading apiext:VK_EXT_shader_object VUs (internal
    merge request 6031).
  * Add missing apiext:SPV_AMDX_shader_enqueue <spirvextension> tag
    (internal merge request 6043).
  * Add CI check to `xml_consistency.py` for `_RESERVED_` enums in
    non-disabled extensions (internal merge request 6044).
  * Consolidate VUs in the <<clears, Clear Commands>> chapter (internal
    merge request 6043).
  * Fix suffixes of incorrectly named flags for apiext:VK_KHR_maintenance5,
    and update XML extension dependencies for those flags (internal merge
    request 6050).
  * Add missing <<features-cooperativeMatrix, cooperativeMatrix>>
    requirement for apiext:VK_KHR_cooperative_matrix (internal merge request
    6051).

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

JeGX

QuoteChange log for August 25, 2023 Vulkan 1.3.262 spec update:
Github Issues

  * Remove ename:VK_ACCESS_2_UNIFORM_READ_BIT from
    ename:VK_ACCESS_SHADER_READ_BIT (public issue 2169).
  * Fix typo in description of slink:VkPerformanceCounterResultKHR (public
    issue 2186).
  * Fix missing vkQueue* row in command properties tables (public PR 2189).
  * Specify that some <<spirvenv-module-validation-runtime, Runtime SPIR-V
    Validation>> VUs apply only to compute shaders (public PR 2199).
  * Misc. markup fixes (public pull request 2200).
  * Specify when compute pipeline metadata must be saved in language
    following slink:VkPipelineShaderStageModuleIdentifierCreateInfoEXT
    (HansKristian-Work/vkd3d-proton#1639, internal
    MR 6058).

Internal Issues

  * Fix MSRTSS + dynamic sample count + single sampling interactions in
    common draw VUs (internal issue 3474).
  * Fixes to block processing and attribute handling when generating
    `validusage.json` (internal issue 3576).
  * Generate implicit `-parent` VUs for more distant ancestor relationships
    if the immediate parent type is not present (internal issue 3582).
  * Fix ename:VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT interaction with
    apiext:VK_EXT_extended_dynamic_state3 in VUs for
    slink:VkGraphicsPipelineCreateInfo (internal issue 3587).
  * Clarify that synchronization commands do not execute pipeline stages in
    the <<synchronization-pipeline-stages, Pipeline Stages>> section
    (internal issue 3592).
  * VU fixes for apiext:VK_KHR_maintenance5 (internal MR 6032).
  * Update apiext:VK_KHR_dynamic_rendering proposal document to remove a
    sentence that should not have been there (internal MR 6047).
  * Add ray tracing VUs for core synchronization access flags to match the
    64-bit versions (internal MR 6047).
  * Add a CI test to check for include:: paths not starting with a
    recognized path attribute (internal MR 6063).
  * Make slink:VkBufferCreateInfo::pname:usage `noautovalidity` in XML and
    allow for elink:VkBufferUsageFlags2KHR flags (internal MR 6066).
  * Expand CI test checking for missing asciidoctor attributes to the
    refpage build, catching additional cases (internal MR 6071).
  * Remove explicit VU for slink:VkImageFormatProperties2 requiring the
    <<fetaures-hostImageCopy, pname:hostImageCopy>> feature to be enabled if
    slink:VkHostImageCopyDevicePerformanceQueryEXT is included in a
    pname:pNext chain (internal MR 6074).

New Extensions

  * apiext:VK_QCOM_filter_cubic_clamp
  * apiext:VK_QCOM_filter_cubic_weights
  * apiext:VK_QCOM_image_processing2
  * apiext:VK_QCOM_ycbcr_degamma

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


New extensions:

- VK_QCOM_filter_cubic_clamp
QuoteThis extension extends cubic filtering by adding the ability to enable an anti-ringing clamp. Cubic filtering samples from a 4x4 region of texels and computes a cubic weighted average of the region. In some cases, the resulting value is outside the range of any of the texels in the 4x4 region. This is sometimes referred to as "filter overshoot" or "filter ringing" and can occur when there is a sharp discontinuity in the 4x4 region being filtered. For some use cases this "ringing" can produces unacceptable artifacts.

The solution to the ringing problem is to clamp the post-cubic-filtered value to be within the max and min of texel values in the 4x4 region. While such "range clamping" can be performed in shader code, the additional texture fetches and clamping ALU operations can be costly.

Certain Adreno GPUs are able to perform the range clamp in the texture unit during cubic filtering at significant performance/power savings versus a shader-based clamping approach. This extension exposes such hardware functionality.


- VK_QCOM_filter_cubic_weights
QuoteThis extension extends cubic filtering by adding the ability to select a set of weights. Without this extension, the weights used in cubic filtering are limited to those corresponding to a Catmull-Rom spline. This extension adds support for 3 additional spline weights.

This extension adds a new structure that can: be added to the pname:pNext chain of slink:VkSamplerCreateInfo that can: be used to specify which set of cubic weights are used in cubic filtering. A similar structure can be added to the pname:pNext chain of slink:VkBlitImageInfo2 to specify cubic weights used in a blit operation.


- VK_QCOM_image_processing2
QuoteThis extension enables support for the SPIR-V code:TextureBlockMatch2QCOM capability. It builds on the functionality of QCOM_image_processing with the addition of 4 new image processing operations.


- VK_QCOM_ycbcr_degamma
QuoteThis extension allows implementations to expose support for "sRGB EOTF" also known as "sRGB degamma", used in combination with images using 8-bit {YCbCr} formats. In addition, the degamma can be selectively applied to the Y (luma) or CrCb (chroma).

Stefan

QuoteChange log for September 2, 2023 Vulkan 1.3.263 spec update:
Github Issues
  * Clarify H.264 / H.265 level indicator values by reference to the ITU-T
    specifications (public issue 2193).
  * Explicitly state that VkDeviceOrHostAddressConstKHR is also ignored
    (public PR 2205).
  * Fix parameter typo "`cordinates`" and correct markup (public PR 2206).
  * Cleanup slink:VkGraphicspipelineCreateInfo VUs for code:PointSize in the
    context of apiext:VK_KHR_maintenance5 (public Vulkan-ValidationLayers
    issue 6382).
Internal Issues
  * Clarifications for <<framebuffer-dsb, Dual-Source Blending>> in common
    draw VUs (internal issue 3549).
  * Ensure slink:VkHostImageLayoutTransitionInfoEXT::pname:oldLayout is the
    current layout (internal issue 3580).
  * Link to promoted-from extension proposal docs in extension appendices if
    no proposal exists for the extension itself (internal issue 3601).
  * Note that pname:storageInputOutput16 is needed for 16-bit vertex input
    in the <<fxvertex-attrib-location>> and <<interfaces-iointerfaces-user,
    User-defined Variable Interface>> sections (internal MR 5989).
  * Provisional video encode API updates (internal MR 6010).
  * Move requirement that elements of
    slink:VkPresentInfoKHR::pname:pSwapchains must be unique to a VU
    (internal MR 6054).
  * Fix and add missing shader object VUs in common draw VUs and the
    <<shaders-objects-state, Setting State>> section (internal MR 6077).
  * Define slink:VkPipelineColorBlendStateCreateInfo::pname:attachmentCount
    to ignore explicit, not implicit state settings in the context of
    apiext:VK_EXT_extended_dynamic_state3 (internal MR 6079).
  * Fix duplicate VUIDs for apiext:VK_EXT_host_image_copy (internal MR
    6100).
  * Use language for
    slink:VkPipelineColorBlendStateCreateInfo::pname:pAttachments consistent
    with related parts of the specification (internal MR 6103).
New Extensions
  * apiext:VK_NV_descriptor_pool_overallocation
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/4e32929f96e5af77fe5202b959f18c4ad7a06bbc

Stefan

#225
QuoteChange log for September 8, 2023 Vulkan 1.3.264 spec update:
Github Issues
  * Create Roadmap Feedback issue template (github PR 2207).
Internal Issues
  * Fix ename:VK_GEOMETRY_OPAQUE_BIT_KHR flag reference for
    <<ray-opacity-micromap, Ray Opacity Micromap>> (internal issue 3337).
  * Clarify slink:VkImageMemoryBarrier color format VU (internal issue
    3606).
  * Collapse apiext:VK_EXT_shader_tile_image pipeline barrier common VUs
    08718 and 06191 (internal MR 6065).
  * Use consistent language to describe multi-planar aspect masks for some
    existing VUs (internal MR 6072).
  * Consolidate VUs in the <<commandbuffers, Command Buffers>> chapter
    (internal MR 6114).
New Extensions
  * apiext:VK_EXT_frame_boundary
  * apiext:VK_MSFT_layered_driver



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

BUG in headers:
Missing new hpp file vulkan_hpp_macros.hpp - fixed




Stefan

QuoteChange log for September 22, 2023 Vulkan 1.3.265 spec update:
Github Issues
  * Remove misplaced
    ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
    description from elink:VkPipelineStageFlagBits context (public PR 2210).
  * Swap NV pipeline stage with promoted KHR stage in XML `syncequivalent`
    tag (public issue 2211).
  * Remove redundant slink:VkPipelineShaderStageCreateInfo pname:stage VUs
    (public issue 2222).
  * Remove duplicate definition in apiext:VK_AMD_shader_enqueue proposal
    document (public issue 2225).
Internal Issues
  * Add a common copy image VU to require compressed image-to-image copies
    to have formats with matching texel block extents (internal issue 3610).
  * Add `page` field to `validusage.json` for eventual use with Antora
    (internal issue 3617).
  * Add missing VUs to flink:vkGetCalibratedTimestampsEXT (internal MR
    5974).
  * Attempt to clarify apiext:VK_KHR_fragment_shader_barycentric
    pname:triStripVertexOrderIndependentOfProvokingVertex description
    (internal MR 6048).
  * Add a slink:VkGraphicsPipelineCreateInfo VU restricting
    ename:VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
    (internal MR 6119).
  * Reword several places to clarify that code:PrimitiveId is reset to `0`
    between each draw in a multi-draw command (internal issue 3564 ).
  * Consolidate and simplify VUs in the <<copies, Copy Commands>> chapter
    (internal MR 6124).
  * Remove inconsistent `KHR` suffix in
    slink:VkDeviceImageMemoryRequirements VUIDs (internal MR 6124).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/4871ab9e57fb07f98bf016cb10a3088924976e29

Stefan

QuoteChange log for September 29, 2023 Vulkan 1.3.266 spec update:
Github Issues
  * Fix slink:VkGraphicsPipelineCreateInfo VU to say a valid pipeline layout
    is always needed without a graphics pipeline library (public issue
    2168).
  * Add missing "`not`" to <<spirvenv-module-validation-standalone,
    Standalone SPIR-V Validation>> VU 04917 (public PR 2229).
  * Add riscv64 64-bit platform to `vk_platform.h` (public PR 2238).
  * Add driver ID for AGXV (Asahi) (public PR 2238).
Internal Issues
  * Fix common draw dynamic state VUs to check for pname:stencilTestEnable
    and pname:depthBoundsTestEnable (internal issue 3486)
  * Fix stride passed to flink:vkGetQueryPoolResults in example code in
    apiext:VK_KHR_performance_query appendix (internal MR 6148).
New Extensions
  * apiext:VK_ANDROID_external_format_resolve
  * apiext:VK_NV_low_latency2
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/e5dbdd580cf0696db8ed0aeb0736e0f512d9bbe1

Stefan

QuoteChange log for October 6, 2023 Vulkan 1.3.267 spec update:
Internal Issues
  * Detect old wording of boilerplate pname:pNext description in CI
    (internal issue 2186).
  * Clarify ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT with regard
    to queue submission (internal issue 3627).
  * Update apiext:VK_NV_low_latency2 pname:pInfo pointers to be `const`
    (internal issue 3637).
  * Add slink:VkDescriptorSetLayoutBindingFlagsCreateInfo and
    slink:VkDescriptorSetAllocateInfo VUs for
    ename:VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT (internal MR
    6127).
  * Consolidate VUs in `access_mask_2_common.adoc` (internal MR 6166).
  * Fix
    slink:VkGraphicsPipelineCreateInfo::pname:pColorBlendState->attachmentCount
    VU to apply only when the blend state is not dynamic (internal MR 6171).
  * Add missing object types to the <<debugging-object-types, VkObjectType
    and Vulkan Handle Relationship>> table (internal MR 6175).
  * Fix typo ("`Non-private`" -> "`Private`") in the description of
    <<memory-model-non-private, private memory operations obeying program
    order>> (internal MR 6176).
  * Add reflow test for list continuation in VUs (internal MR 6177).
  * Correct type of flink:vkQueueNotifyOutOfBandNV::pname:pQueueTypeInfo
    (internal MR 6179).
  * Add XML `len` attribute for slink:VkFrameBoundaryEXT::pname:pTag order>>
    (internal MR 6180).
  * Consolidate VUs for apiext:VK_ANDROID_external_format_resolve (internal
    MR 6183).
  * Upstream Vulkan SC 1.0.13 changes to this repository (internal vulkansc
    issue 179).
New Extensions
  * apiext:VK_EXT_nested_command_buffer
  * apiext:VK_NV_extended_sparse_address_space
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/66b95bd350a014c7a4dcdcd309206b571750deb3

Stefan

QuoteChange log for October 13, 2023 Vulkan 1.3.268 spec update:
Github Issues
  * Restrict flink:vkCmdSetEvent2 ptext:*stageMask parameters to not include
    ename:VK_PIPELINE_STAGE_2_HOST_BIT (public issue 1996).
  * Fix <<formats-non-packed, byte mapping table>> for
    ename:VK_FORMAT_A8_UNORM_KHR (public issue 2234).
  * Assign VUIDs to new VUs that were overlooked in the previous spec update
    (public issue 2244).
  * Add a spec build test and refactor Makefile to allow using a different
    repository root directory path, for use with the tests (public PR 2248).
Internal Issues
  * Add VUs to slink:VkCopyMemoryToImageInfoEXT and
    slink:VkCopyImageToMemoryInfoEXT requiring zero row-length /
    image-height when doing a host copy with
    ename:VK_HOST_IMAGE_COPY_MEMCPY_EXT (internal issue 3619).
  * Clarify that fragment shading rate attachments cannot be cleared in VU
    for slink:VkRenderPassCreateInfo2 and language for
    slink:VkAttachmentDescription2KHR (internal issue 3634).
  * Add VUs to slink:VkSparseImageMemoryBind requiring a non-zero extent
    (internal issue 3635).
  * Consolidate VUs in many files (internal MRs 6138, 6141. 6142, 6147,
    6149, 6153, 6161, 6162, 6167, 6170, 6194, and 6197).
  * Use title case consistently for chapter and section titles, and add it
    to the style guide (internal MR 6201).

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

JeGX

QuoteChange log for October 20, 2023 Vulkan 1.3.269 spec update:
Github Issues

  * Add and correct a couple of `optional` attributes in the XML (public
    pull request 2252).

Internal Issues

  * Add flink:vkGetQueryPoolResults and flink:vkCmdCopyQueryPoolResults VUs
    requiring that queries be initialized (internal issue 3638).
  * Harmonize shader object state VUs with spec language in common draw,
    common draw vertex binding, slink:VkShaderCreateInfoEXT, and the
    <<shaders-objects-state, Setting State>> section (internal MR 6128).
  * Consolidate VUs in many files (internal MRs 6136, 6137, 6140, 6154,
    6155, 6157).
  * Fix common blit image, copy image, and resolve image VUs for
    interactions with ename:VK_REMAINING_ARRAY_LAYERS when built without
    apiext:VK_KHR_maintenance5 (internal MR 6204).
  * Remove slink:VkClearAttachment VU 00021 for "`validating`" a union type
    (internal MR 6222).
  * Disallow image creation with
    ename:VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT and any
    etext:VK_IMAGE_CREATE_SPARSE_*_BIT flags (internal MR 6223).
  * Combine slink:VkGraphicsPipelineCreateInfo VUs 06575 and 06603 (internal
    MR 6225).
  * Markup fixes for apiext:VK_NV_low_latency2 (internal MR 6228).
  * Add a VU for the
    slink:VkDecompressMemoryRegionNV::pname:decompressedSize limit, and fix
    language describing parameters in slink:VkCopyMemoryIndirectCommandNV
    (internal MR 6230).

New Extensions

  * apiext:VK_ARM_scheduling_controls
  * apiext:VK_NV_cuda_kernel_launch

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

New extensions:
-VK_NV_cuda_kernel_launch
QuoteInteroperability between APIs can sometimes create additional overhead depending on the platform used. This extension targets deployment of existing CUDA kernels via Vulkan, with a way to directly upload PTX kernels and dispatch the kernels from Vulkan's command buffer without the need to use interoperability between the Vulkan and CUDA contexts. However, we do encourage actual development using the native CUDA runtime for the purpose of debugging and profiling.

-VK_ARM_scheduling_controls
QuoteThis extension exposes a collection of controls to modify the scheduling behaviour of Arm Mali devices.

Stefan

QuoteChange log for November 9, 2023 Vulkan 1.3.270 spec update:
Github Issues
  * Remove redundant reference to ename:VK_PIPELINE_STAGE_2_HOST_BIT in
    flink:vkCmdWaitEvents2 VU 03842 (public issue 1986).
  * Fix typo in <<limits-computeCapabilityMajor>> description (as described
    in public PR 2260).
  * Add apiext:VK_KHR_timeline_semaphore dependency for
    apiext:VK_NV_low_latency2 (public PR 2264).
  * Restrict cooperative matrix support to compute stages and subgroup scope
    in slink:VkPhysicalDeviceCooperativeMatrixPropertiesKHR and
    slink:VkCooperativeMatrixPropertiesKHR (public SPIRV-Registry issue
    210).
  * Add additional Vulkan-Hpp headers to the trivial compile test used in CI
    (public Vulkan-Hpp issue 1721).
Internal Issues
  * Update common draw VU 06179 to only apply when the
    pname:dynamicRenderingUnusedAttachments feature is not enabled.
    (internal issue 3645).
  * Consolidate VUs in many files (internal MRs 6151, 6152, 6158, 6174).
  * Add slink:VkDescriptorPoolCreateInfo VU requiring
    slink:VkDescriptorPoolInlineUniformBlockCreateInfo in some situations
    (internal MR 6186).
  * Remove redundant apiext:VK_KHR_maintenance5 VUs constraining
    pname:layerCount in flink:vkCmdCopyMemoryToImageIndirectNV and common
    image copy / blit / resolve VUs (internal MR 6211).
  * Clean up Issues section of apiext:VK_KHR_display appendix (internal MR
    6219).
  * Remove redundant flink:vkCmdBindPipeline VU 06653 (internal MR 6226).
  * Update description of `EXT` extensions in style guide (internal MR
    6236).
  * Revert removal of flink:vkCmdSetLogicOpEnableEXT VU 07366 (internal MR
    6240).
  * Fix typo in <<primsrast-lines-basic, Basic Line Segment Rasterization>>
    (internal MR 6244).
  * Add missing `const` to
    sname:VkDirectDriverLoadingListLUNARG::pname:pNext in `vk.xml` (internal
    MR 6245).
  * Add missing slink:VkDescriptorImageInfo VUs (internal MR 6248).
  * Fix AMD/NV mixed-sample extension VUs that were mistakenly unified in
    `renderpass.adoc` (internal MR 6249).
  * Fix typos in apiext:VK_EXT_opacity_micromap appendix (internal MR 6251).
  * Add guarantees for implementation synchronization in
    flink:vkSetLatencyMarkerNV and flink:vkSetLatencySleepModeNV (internal
    MR 6254).
  * Add texel buffer limits for flink:vkGetDescriptorEXT (internal MR 6255).
  * Remove redundant slink:VkDescriptorSetAllocateInfo VU 08010 (internal MR
    6258).
  * Clean up unreferenced capabilities blocks in
    `profiles/VP_KHR_roadmap_2022.json` (internal MR 6261).
  * Remove duplicate slink:VkGraphicsPipelineCreateInfo VU 09041 (internal
    MR 6266).
  * Clarify common acceleration structure build VUs for pname:firstVertex
    and pname:primitiveCount (internal MR 6273).
New Extensions
  * apiext:VK_IMG_relaxed_line_rasterization

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

Stefan

QuoteChange log for November 27, 2023 Vulkan 1.3.271 spec update:
Github Issues
  * Add zero stride VU for flink:vkGetQueryPoolResults and
    flink:vkCmdCopyQueryPoolResults (public issue 2265).
  * Move pname:timingCount to flink:vkGetLatencyMarkerInfoNV for
    apiext:VK_NV_low_latency2 (public issue 2269).
Internal Issues
  * Allow vkCmdBeginTransformFeedbackEXT to be called without an active
    graphics pipeline bound when using shader objects (internal issue 2785).
  * Autogenerate SPIR-V extension dependencies for extension appendices, and
    remove explicit dependencies now (or already) generated by the scripts
    (internal issue 3678).
  * Consolidate synchronization VUs (internal MR 6164).
  * Rewrite some spec language for apiext:VK_NV_cuda_kernel_launch to be
    internally consistent and follow style guidelines (internal MR 6234).
  * Fix names of apiext:VK_NV_cuda_kernnel_launch enums for use with
    apiext:VK_EXT_debug_report (internal MR 6235).
  * Fix common VUs for slink:VkDeviceImageSubresourceInfoKHR to insert
    correct image parameter name (internal MR 6264).
  * Document some missing apiext:VK_EXT_multi_draw interactions in the
    extension appendix (internal MR 6276).
  * Clarify descriptions of etext:*_MICROMAP_BIT_EXT pipeline flags
    (internal MR 6277).
  * Make pname:deviceRenderAreaCount VU language consistent (internal MR
    6288).
  * Make slink:VkCuModuleCreateInfoNVX::pname:dataSize `optional` in XML
    (internal MR 6291).
  * Add `not` XML `limittype` attribute value for features that are
    supported when the capability value is false (internal MR 6292).
  * Mark apiext:VK_EXT_nested_command_buffer as ratified (internal MR 6293).
  * Add commonvalidity file for query result VUs (internal MR 6295).
  * Autogenerate "`API Interactions`" section in extension appendices from
    XML (internal MR 6297).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/dbad946f7edc9137dbb972ea8e271592e3fb9746

Stefan

#233
QuoteChange log for December 1, 2023 Vulkan 1.3.272 spec update:
Internal Issues
  * Add common trace rays VU for dynamic stack size (internal issue 3687).
  * Add shading rate function to apiext:VK_HUAWEI_cluster_culling_shader
    (internal MR 6308).
  * Consolidate WSI VUs (internal MR 6165).
  * Relax VkImageCreateInfo VU 02397 to allow slink:VkExternalFormatANDROID
    images to include input attachment images (internal MR 6196).
  * Clarify description of promotion in the
    <<extendingvulkan-extensions-extensiondependencies, Extension
    Dependencies>> section, and of the XML `promotedto` attribute in the
    registry schema document, to draw attention to allowed differences
    between an extension and what it is promoted to (internal MR 6301).
  * Remove duplicate common draw validity VU 07934 (internal MR 6303).
  * Update VU for VkSubpassDescription2 to cover sample count constraints
    for apiext:VK_NV_framebuffer_mixed_samples as well as
    apiext:VK_AMD_mixed_attachment_samples (internal MR 6306).
New Extensions
  * apiext:VK_EXT_layer_settings
  * apiext:VK_ARM_render_pass_striped


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

New extensions:
- VK_EXT_layer_settings
QuoteThis extension provides a mechanism for configuring programmatically through the Vulkan API the behavior of layers.

- VK_ARM_render_pass_striped
QuoteThis extension adds the ability to split a render pass instance into stripes, and to get a notification when rendering has completed for each stripe.

Stefan

QuoteChange log for December 8, 2023 Vulkan 1.3.273 spec update:
Github Issues
  * Add missing `bitwidth` attribute for
    elink:VkPhysicalDeviceSchedulingControlsFlagBitsARM (public issue 2277).
Internal Issues
  * Use the new <<glossary-pipeline-trace-ray, pipeline trace ray>> term to
    refer to trace ray instructions, instead of the too-specific
    code:OpTraceRayKHR (internal issue 3284).
  * Improve description of <<pipelines-multiple, multiple pipeline
    creation>>, refer to it from each ftext:vkCreate*Pipelines command, and
    add style guide language to follow this pattern for future multiple
    creation commands (internal issue 3707).
  * Add common blit image and copy image VU that copying an image with the
    same subresource must: be ename:VK_IMAGE_LAYOUT_GENERAL or
    ename:VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR (internal MR 6143).
  * Markup improvements and correct use of normative must: for
    flink:vkGetPhysicalDeviceOpticalFlowImageFormatsNV (internal MR 6315).
  * Refer to "`shader calls`" in the <<memory-model, Memory Model>> chapter
    refers to them as such, rather than "`invocation repacks`" (internal MR
    6316).
  * Make some flink:vkAcquireImageANDROID parameters `optional` in XML
    (internal MR 6325).
New Extensions
  * apiext:VK_KHR_calibrated_timestamps
  * apiext:VK_KHR_vertex_attribute_divisor
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/f8d76125ca22ec65dfcaedc7177e204f11ad7c7b

Stefan

#235
QuoteChange log for December 19, 2023 Vulkan 1.3.274 spec update:
Github Issues
  * Remove incorrect `optional` attribute on
    slink:VkCudaLaunchInfoNV::pParams and pname:pExtras (public PR 2263).
  * Require identity swizzle for attachments in slink:VkRenderingInfo
    dynamic rendering VUs (public issue 2275).
  * Make slink:VkRenderPassStripeBeginInfoARM::pname:pStripeInfos `const`
    (public PR 2279).
Internal Issues
  * Add a <<introduction-ratified, Ratification>> section to the
    introduction, to define "`ratified`" (as used in the extension appendix
    metadata) in terms useful for developers (internal issues 3472, 3709).
  * Allow fragment shader invocations to be merged for flat shaded
    primitives in the <<fragops-shader, Fragment Shading>> section (internal
    issue 3563).
  * Add alignment VUs to flink:vkCmdDrawIndirectByteCountEXT (internal issue
    3674).
  * Fix etext:VK_*_CREATE_PROTECTED_BIT memory requirements reporting in the
    <<resources-association, Resource Memory Association>> section (internal
    issue 3694).
  * Update common pipeline create info VUs for create flags (internal issue
    3703).
  * Fix slink:VkRenderingInfo dynamic rendering VUs for
    slink:VkRenderingAttachmentInfo::pname:resolveImageView structures
    (internal issue 3711).
  * Minor changes to slink:VkGraphicsPipelinCreateInfo VUs to consistently
    allow pname:pMultisampleState to be optional (internal MR 6312).
  * Update flink:vkGetDescriptorEXT VUs for YCbCr
    ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER (internal MR 6318).
  * Specify alignment requirement VUs for slink:VkSparseMemoryBind
    pname:resourceOffset and pname:memoryOffset values (internal MR 6323).
  * Clarify slink:VkDescriptorSetLayoutBinding::pname:stageFlags VU
    (internal MR 6333).
  * Fix some slink:VkGraphicsPipelineCreateInfo VUs to read properly without
    some related extensions enabled in the build (internal MR 6335).
  * Fix code:OutputTriangles -> code:OutputTrianglesNV in the description of
    code:PrimitiveIndicesNV (internal MR 6338).
  * Add capture replay VUs to slink:VkAccelerationStructureCreateInfoKHR to
    ensure that the acceleration structure and buffer are identical and have
    the same addresses (internal MR 6351).
New Extensions
  * VK_KHR_maintenance6
  * Video Encode Extensions
  ** VK_KHR_video_encode_queue (was provisional KHR)
  ** VK_KHR_video_encode_h264 (promoted from provisional EXT)
  ** VK_KHR_video_encode_h265 (promoted from provisional EXT)
  ** VK_KHR_video_maintenance1
  * VK_NV_per_stage_descriptor_set

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





Stefan

QuoteChange log for January 5, 2024 Vulkan 1.3.275 spec update:
Github Issues
  * Update `VK_EXT_image_compression_control` support query example (public
    PR 2285).
  * Fix markup issue in extension refpages (public issue 2288).
Internal Issues
  * Add requirements for WIN32 multithreading behavior and HWND handling to
    flink:vkCreateWin32SurfaceKHR (internal issue 3402).
  * Link to the appropriate etext:Vk*FlagBits type to improve "`must: be a
    bit value`" terminology (internal issue 3728).
  * Editorial and XML dependency updates for
    apiext:VK_QCOM_render_pass_transform and
    apiext:VK_QCOM_rotated_copy_commands (internal MR 6353).
  * Add missing links to <<resources-image-views-identity-mappings,identity
    swizzle>> in a few places where the term is used (internal MR 6354).
  * Remove unreachable VU 07008 in flink:vkCmdEndQuery (internal MR 6356).
  * Fix XML dependencies for apiext:VK_KHR_maintenance6 (internal MR 6361).
  * Set XML `noautovalidity` attribute on all pipeline create flags
    (internal MR 6364).
  * Remove duplicate flink:vkCmdBindDescriptorSets VUID 06754 (internal MR
    6364).
  * Remove shader object VU 08401 which was inconsistent with specification
    language (internal MR 6368).
  * Editorial fix to use 'must:' normative term in VUs (internal MR 6370).
  * Update buffer usage flag VUs to factor out common VUs to a new
    commonvalidity file, and fix typo in
    slink:VkDescriptorBufferBindingInfoEXT (internal MR 6371).
  * Add flink:vkGetPrivateData VU requiring pname:objectHandle to be valid
    (internal MR 6373).
  * Remove redundant VkGraphicsPipelineCreateInfo VU 06680 and re-word VU
    06679 to combine them (internal MR 6376).
  * Fix field name typos for flink:vkGetDescriptorEXT VUs (internal MR
    6378).
  * Set `noautovalidity` XML attribute on some slink:VkCudaLaunchInfoNV
    parameters (internal MR 6382).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/9b94c27d65dc7d11e50a7c00581b89f1983d34ff

Stefan

#237
QuoteChange log for January 25, 2024 Vulkan 1.3.276 spec update:
Github Issues
  * Add missing VUs to structures taking elink:VkFormat parameters where
    formats cannot be ename:VK_FORMAT_UNDEFINED (public issue 2165).
  * Add EPUB generation target to the Makefile. NOTE: the `epub` target is
    not supported by Khronos, but provided in case it is of use to people
    building their own specification outputs. Please see
    #2286 for more about
    this (public PR 2286).
Internal Issues
  * Fix VU 06604 to allow omitting fragment shaders when creating a graphics
    pipeline library (internal issue 3178).
  * Clarify pname:maxCombinedClipAndCullDistances and related VUs (internal
    issue 3325).
  * Refactor apiext:VK_EXT_extended_dynamic_state3 and
    apiext:VK_EXT_shader_object XML to include extension dependencies
    (internal issue 3360).
  * Add <<spirvenv-module-validation-standalone, Standalone SPIR-V
    Validation>> VU banning code:PhysicalStorageBuffer pointers in shader
    interfaces (internal issue 3677).
  * Clarified image requirement for slink:VkSparseImageFormatProperties
    (internal issue 3686).
  * Add slink:VkQueryPoolCreateInfo VU requiring pname:pipelineStatistics
    not be zero for that query type (internal issue 3722).
  * Add slink:VkWriteDescriptorSet and flink:vkGetDescriptorEXT VUs banning
    dlink:VK_NULL_HANDLE YCbCr descriptors (internal issue 3727).
  * Clarify acceleration structure binding requirements in a NOTE for
    flink:vkCreateAccelerationStructureKHR and new VUs for
    flink:vkGetAccelerationStructureDeviceAddressKHR (internal issue 3735).
  * Add `optional` attribute to shader parameter of flink:vkDestroyShaderEXT
    (internal issue 3754).
  * Add flink:vkSetEvent VU for pending command buffers (internal MR 6326).
  * Allow pname:pMessage to be `NULL` in
    slink:VkDebugUtilsMessengerCallbackDataEXT (internal MR 6331).
  * Fix link to the H.265 specification (internal MR 6334).
  * Remove redundant slink:VkDeferredOperationKHR check formerly in VUID
    03677 (internal MR 6374).
  * Add VU requiring pname:commandBuffer to not be protected for
    flink:vkCmdBuildAccelerationStructuresKHR (internal MR 6375).
  * Update `genvk.py` to not load generators when they are not available, as
    may be the case in VulkanSC-Headers or downstream repositories (internal
    MR 6384).
  * Add `returnedonly` attributes to some Properties structs missing them
    (internal MR 6392).
  * Remove redundant slink:VkDebugUtilsMessengerCreateInfoEXT VU 01914
    (internal MR 6404).
  * Clarify the conditions under which <<shaders-helper-invocations, shader
    helper invocations>> may become inactive (internal MR 6405).
  * Fix typo in
    slink:VkPipelineMultisampleStateCreateInfo::pname:sampleShadingEnable
    member name (internal MR 6407).
New Extensions
  * Roadmap 2024 Extensions
  ** VK_KHR_dynamic_rendering_local_read
  ** VK_KHR_index_type_uint8 (promoted from EXT)
  ** VK_KHR_line_rasterization (promoted from EXT)
  ** VK_KHR_load_store_op_none (promoted from EXT)
  ** VK_KHR_shader_expect_assume
  ** VK_KHR_shader_float_controls2
  ** VK_KHR_shader_maximal_reconvergence
  ** VK_KHR_shader_quad_control
  ** VK_KHR_shader_subgroup_rotate


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

New extensions:

- VK_KHR_dynamic_rendering_local_read
QuoteThis extension enables reads from attachments and resources written by previous fragment shaders within a dynamic render pass.

- VK_KHR_index_type_uint8
QuoteThis extension allows code:uint8_t indices to be used with flink:vkCmdBindIndexBuffer.

- VK_KHR_line_rasterization
QuoteThis extension adds some line rasterization features that are commonly used in CAD applications and supported in other APIs like OpenGL. Bresenham-style line rasterization is supported, smooth rectangular lines (coverage to alpha) are supported, and stippled lines are supported for all three line rasterization modes.

- VK_KHR_load_store_op_none
QuoteThis extension provides ename:VK_ATTACHMENT_LOAD_OP_NONE_KHR and ename:VK_ATTACHMENT_STORE_OP_NONE_KHR, which are identically promoted from the apiext:VK_EXT_load_store_op_none extension.

- VK_KHR_shader_expect_assume
QuoteThis extension allows the use of the SPV_KHR_expect_assume extension in SPIR-V shader modules which enables SPIR-V producers to provide optimization hints to the Vulkan implementation.

- VK_KHR_shader_float_controls2
QuoteThis extension enables use of the more expressive fast floating-point math flags in the SPV_KHR_float_controls2 extension. These flags give finer- grained control over which optimisations compilers may apply, potentially speeding up execution while retaining correct results.

The extension also adds control over the fast-math modes to the GLSL extended instruction set, making these operations more consistent with SPIR-V and allowing their use in situations where floating-point conformance is important.

- VK_KHR_shader_maximal_reconvergence
QuoteThis extension allows the use of the SPV_KHR_maximal_reconvergence SPIR-V extension in shader modules. SPV_KHR_maximal_reconvergence provides stronger guarantees that diverged subgroups will reconverge. These guarantees should match shader author intuition about divergence and reconvergence of invocations based on the structure of the code in the HLL.

- VK_KHR_shader_quad_control
QuoteThis extension adds new quad any/all operations, requires that derivatives are well-defined in quad-uniform control flow, and adds the ability to require helper invocations participate in group operations.

- VK_KHR_shader_subgroup_rotate
QuoteThis extension adds support for the subgroup rotate instruction defined in SPV_KHR_subgroup_rotate.

Stefan

#238
QuoteChange log for February 1, 2024 Vulkan 1.3.277 spec update:
Internal Issues
  * Add bits to VkSubgroupFeatureFlagBits for VK_KHR_shader_subgroup_rotate
    (internal issue 3773).
  * Add missing `promotedto` XML attribute to VK_EXT_line_rasterization
    (internal issue 3772).
  * Fix VU missing shaderTileImageStencilReadAccess (internal issue 3778).
  * Revert add VUs for VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT
    (internal MR 6402).
  * Add missing VkGraphicsPipelinCreateInfo multisample state VU (internal
    MR 6408).
  * Add VU for null pGeometries and ppGeometries (internal MR 6411).
  * Fix typo in vkCmdWriteAccelerationStructuresPropertiesKHR VU (internal
    MR 6417).
  * Fix typos in some credits (internal MR 6423).
  * Fix missing SPIR-V interface summary in some extension appendices
    (internal MR 6425).
  * Update VK_FORMAT_UNDEFINED for VK_ANDROID_external_format_resolve
    (internal MR 6428)
  * Fix vkGetDescriptorEXT VU for null pCombinedImageSampler (internal MR
    6431).
  * Remove redundant vkGetDescriptorEXT VU (internal MR 6434).
New Extensions
  * VK_KHR_video_decode_av1


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

New extension:
- VK_KHR_video_decode_av1
QuoteThis extension builds upon the apiext:VK_KHR_video_decode_queue extension by adding support for decoding elementary video stream sequences compliant with the AV1 video compression standard.

JeGX

QuoteChange log for February 16, 2024 Vulkan 1.3.278 spec update:
Public Issues

  * Restore orphaned vkQueuePresentKHR text to proper locations (public
    issue 2008).
  * Make ename:VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT into a typo alias of
    ename:VK_INCOMPATIBLE_SHADER_BINARY_EXT, since this is actually a
    success code, not an error code (public issue 2295).

Internal Issues

  * Remove VK_INCOMPLETE success code in
    vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, and tag
    pMaxWorkgroupSize as a pointer to a single returned structure, not an
    array (internal issue 3715).
  * Add missing `len` XML attributes for structure <member> tags which are
    static arrays, but may not use the entire array (internal issue 3743).
  * Fix VkPhysicalDeviceSurfaceInfo2KHR::surface VU 07919 and set
    `noautovalidity` on corresponding XML member (internal MR 6429).
  * Move sections in generated extension appendices down one heading level
    in spec body (internal MR 6436).
  * Remove `returnedonly` XML attribute from VkPhysicalDeviceSurfaceInfo2KHR
    (internal MR 6436).
  * Add `returnedonly` XML attribute to VkLatencyTimingsFrameReportNV
    (internal MR 6463) and slink:VkPerformanceValueINTEL (internal MR 6461).
  * Fix typo in vkCopyAccelerationStructureKHR VU 03728 (internal MR 6457).
  * Remove invalid subpassLoadMS operation from description of
    vkCmdSubpassShadingHUAWEI (internal MR 6454).
  * Remove "`equal to`" clause from VU 09515 (internal MR 6458).
  * Rearrange some function markup and add missing parameter descriptions
    for vkCmdSetPerformanceStreamMarkerINTEL (internal issue 3785).
  * Remove non-sensical VkGraphicsPipelineCreateInfo VUs 07717 and 07719
    (internal MR 6468).
  * Fix various 'a'/'an' typos (internal MR 6470).

New Extensions

  * VK_EXT_map_memory_placed
  * VK_NV_shader_atomic_float16_vector

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

New extensions:

-VK_EXT_map_memory_placed
QuoteThis extension allows a client to request that flink:vkMapMemory2KHR attempt to place the memory map at a particular virtual address.

-VK_NV_shader_atomic_float16_vector
QuoteThis extension allows a shader to perform atomic add, min, max, and exchange operations on 2- and 4-component vectors of float16. Buffer, workgroup, and image storage classes are all supported.