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.

JeGX

Quote
Change log for November 1, 2020 Vulkan 1.2.159 spec update:

  * Update release number to 159 for this update.

Github Issues:

  * Clarify handle uniqueness with private data in the
    <<fundamentals-objectmodel-overview, Object Model>> section (public
    issue 1349).
  * Make ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR
    an alias of
    ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR
    and ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR
    an alias of
    ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
    for backwards compatibility while complying with naming conventions
    (public issue 1367).
  * Make ename:VK_SURFACE_COUNTER_VBLANK_EXT an alias of
    ename:VK_SURFACE_COUNTER_VBLANK_BIT_EXT for backwards compatibility
    while complying with naming conventions (public issue 1368).
  * Add a note to the <<memory-model-synchronizes-with, Synchronizes-With>>
    section that fragment shader interlock instructions don't perform
    implicit availability or visibility operations (public issue 1383).

Internal Issues:

  * Dynamically generate SPIR-V <<spirvenv-capabilities-table,
    Capabilities>> and <<spirvenv-extensions-table, Extensions>> tables from
    new tags in `vk.xml`, exposing this information for other projects
    downstream (internal issue 2156).
  * Clarify when a <<renderpass-feedbackloop, feedback loop>> creates a data
    race (internal issue 2296).
  * Remove un-needed `noautovalidity` attributes on pname:pNext structure
    members, including a few cases where they were actually suppressing
    appropriate autogenerated validity statements (internal issue 2335;
    similar purpose to closed public PR 1339).
  * Clarify treatment of most-negative signed normalized fixed-point values
    in the <<fundamentals-fixedfpconv, Conversion from Normalized
    Fixed-Point to Floating-Point>> section (internal issue 2367).
  * Clarify that enabling an extension cannot change existing implementation
    behavior in the introduction to the <<extendingvulkan-extensions,
    Extensions>> chapter (internal issue 2375).
  * Add missing valid usage statement to flink:vkCreatePrivateDataSlotEXT
    (internal issue 2379).
  * Fix a misplaced asciidoctor `endif::` for flink:vkCreateSwapchainKHR
    (internal merge request 4177).
  * Add missing pname:aspectMask valid usage statement to
    slink:VkSubpassDescription2, matching
    slink:VkInputAttachmentAspectReference (internal merge request 4177).
  * Clarify <<interfaces, SPIR-V rules on decorations>> (internal
    spirv/SPIR-V issue 444).
  * Add missing `<<VK_VERSION_1_2>>` to all
    `<<VK_EXT_separate_stencil_usage>>` conditional markup (internal
    vulkansc/vulkansc issue 58).

New Extensions:

  * `<<VK_QCOM_rotated_copy_commands>>` (internal merge request 4132).

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

JeGX

Quote
Change log for November 9, 2020 Vulkan 1.2.160 spec update:

  * Update release number to 160 for this update.

Github Issues:

  * Remove redundant input attachment valid usage statements from
    slink:VkAttachmentReference2 (public issue 1378).

Internal Issues:

  * Restore "`Preamble`" section containing the copyright statement to the
    proper place in the chunked specification index (internal issue 2384).
  * Add missing valid usage statements for
    flink:vkCmdDrawIndirectByteCountEXT (internal issue 2400).
  * Move vertex input example from the <<fxvertex>> chapter to the Vulkan
    Guide (internal merge request 4162).
  * Clarify update-after-bind limits for dynamic buffers in the
    <<limits-maxDescriptorSetUpdateAfterBindUniformBuffersDynamic>> and
    <<limits-maxDescriptorSetUpdateAfterBindStorageBuffersDynamic>> sections
    (internal merge request 4186).
  * Clarify slink:VkFramebufferCreateInfo to allow read-only use of depth
    images as attachments and non-attachments (internal merge request 4191).
  * Remove redundant valid usage statement from slink:VkWriteDescriptorSet
    (internal merge request 4196).
  * Remove redundant valid usage statement from flink:vkFreeDescriptorSets
    (internal merge request 4198).
  * Fix typo in slink:VkDisplaySurfaceCreateInfoKHR valid usage statement
    (internal merge request 4199).
  * Remove redundant pname:firstViewport / pname:firstScissor limit checks
    in valid usage statements for flink:vkCmdSetViewportWScalingNV,
    flink:vkCmdSetScissor, flink:vkCmdSetExclusiveScissorNV,
    flink:vkCmdSetViewportShadingRatePaletteNV, and flink:vkCmdSetViewport
    (internal merge request 4200).

New Extensions:

  * `<<VK_NV_fragment_shading_rate_enums>>`

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

New extension:
- VK_NV_fragment_shading_rate_enums
Quote
This extension builds on the fragment shading rate functionality provided by
the VK_KHR_fragment_shading_rate extension, adding support for "supersample"
fragment shading rates that trigger multiple fragment shader invocations per
pixel as well as a "no invocations" shading rate that discards any portions
of a primitive that would use that shading rate.

JeGX

Quote
Change log for November 16, 2020 Vulkan 1.2.161 spec update:

  * Update release number to 161 for this update.

Github Issues:

  * Add some missing types to the table of handle type <->
    etext:VK_OBJECT_TYPE_* enums in the debugging chapter (in response to a
    comment on public issue 1379).

Internal Issues:

  * Move copyright statement into its own "`Preamble`" chapter to simplify
    preprocessing for chunked HTML target and make PDF / single-page HTML
    consistent with the chunked output (internal issue 2384).
  * Clarify that slink:VkExternalMemoryBufferCreateInfo::pname:handleTypes
    and slink:VkExternalMemoryImageCreateInfo::pname:handleTypes can be
    zero, and fix missing `optional` attribute in `vk.xml` for the latter
    case (internal issue 2388).
  * Make `specialuse` attributes in source markup expand properly in
    extension refpages (internal issue 2412).
  * Remove as yet unused slink:VkSemaphoreCreateFlagBits type from `vk.xml`
    (internal issue 2413).
  * Remove unreachable valid usage statements for
    slink:VkRenderPassMultiviewCreateInfo::pname:pViewMask in the
    slink:VkRenderPassCreateInfo pname:pNext chain, and for
    slink:VkRenderPassCreateInfo2::pname:viewMask. These statements cannot
    ever be violated given that view masks cannot exceed index 31 and
    pname:maxFramebufferLayers exceeds this value (internal merge request
    4204).
  * Only allow forward pointers for physical storage buffers in the
    <<spirvenv-module-validation>> section (internal merge request 4206).
  * Fix a variety of minor valid usage statement issues with the
    `<<VK_KHR_fragment_shading_rate>>` extension (internal merge request
    4207).

Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/9f9fd160c8dbd8752447a4a8a2e32fbb92b9722d

JeGX

Quote
Change log for November 23, 2020 Vulkan 1.2.162 spec update:

  * Update release number to 162 for this update.

Github Issues:

  * Mark pname:pNext pointers as `optional="true"` in `vk.xml` (public pull
    request 1396).
  * Make a formerly implicit slink:VkSubpassDescriptionDepthStencilResolve
    valid usage statement explicit (public Vulkan-ValidationLayers issue
    2311).

Internal Issues:

  * Clarify lifetime of push constants in the flink:vkCmdPushConstants
    description (internal issue 2168).
  * Clarify that flink:vkGetDeviceProcAddr is not intended to return
    physical device-level commands (internal issue 2344).
  * Tweak CI test for SPEC_VERSION to always succeed when the branch name
    exists, but the extension is disabled (internal merge request 4219).

New Extensions:

  * Add final (non-provisional) versions of the Vulkan Ray Tracing
    extensions (internal merge request 4143):
  ** `<<VK_KHR_acceleration_structure>>`
  ** `<<VK_KHR_ray_tracing_pipeline>>`
  ** `<<VK_KHR_ray_query>>`
  ** `<<VK_KHR_pipeline_library>>`
  ** `<<VK_KHR_deferred_host_operations>>`

Source: https://github.com/KhronosGroup/Vulkan-Docs/commit/c5d94a31766e91607473ca0049a293e3f632c6ff

New extensions

- VK_KHR_acceleration_structure
Quote
In order to be efficient, rendering techniques such as ray tracing need a
quick way to identify which primitives may be intersected by a ray
traversing the geometries.
Acceleration structures are the most common way to represent the geometry
spatially sorted, in order to quickly identify such potential intersections.


- VK_KHR_ray_tracing_pipeline
Quote
Rasterization has been the dominant method to produce interactive graphics,
but increasing performance of graphics hardware has made ray tracing a
viable option for interactive rendering.
Being able to integrate ray tracing with traditional rasterization makes it
easier for applications to incrementally add ray traced effects to existing
applications or to do hybrid approaches with rasterization for primary
visibility and ray tracing for secondary queries.

To enable ray tracing, this extension adds a few different categories of new
functionality:

  * A new ray tracing pipeline type with new shader domains: ray generation,
    intersection, any-hit, closest hit, miss, and callable
  * A shader binding indirection table to link shader groups with
    acceleration structure items
  * Trace ray commands which initiates the ray pipeline traversal and
    invocation of the various new shader domains depending on which
    traversal conditions are met


- VK_KHR_ray_query
Quote
Rasterization has been the dominant method to produce interactive graphics,
but increasing performance of graphics hardware has made ray tracing a
viable option for interactive rendering.
Being able to integrate ray tracing with traditional rasterization makes it
easier for applications to incrementally add ray traced effects to existing
applications or to do hybrid approaches with rasterization for primary
visibility and ray tracing for secondary queries.

Ray queries are available to all shader types, including graphics, compute
and ray tracing pipelines.
Ray queries are not able to launch additional shaders, instead returning
traversal results to the calling shader.

- VK_KHR_pipeline_library
Quote
A pipeline library is a special pipeline that cannot be bound, instead it
defines a set of shaders and shader groups which can be linked into other
pipelines.
This extension defines the infrastructure for pipeline libraries, but does
not specify the creation or usage of pipeline libraries.
This is left to additional dependent extensions.


- VK_KHR_deferred_host_operations
Quote
The VK_KHR_deferred_host_operations extension defines the infrastructure
and usage patterns for deferrable commands, but does not specify any
commands as deferrable.

JeGX

Quote
Change log for November 30, 2020 Vulkan 1.2.163 spec update:

  * Update release number to 163 for this update.

Github Issues:

  * Add XML mapping between VK_OBJECT_TYPE_* names and object type names
    (public issue 1379).
  * Remove *_READ_BIT from .srcAccessMask in code samples (public issue
    1389).
  * Fix example code for slink:VkPushConstantRange to take
    elink:VkShaderStageFlags, not elink:VkPipelineStageFlags (public pull
    request 1393).
  * Add missing :refpage: attribute to slink:VkBlitImageInfo2KHR (public
    issue 1407).
  * Remove extraneous newline from texel block size table (public issue
    1409).

Internal Issues:

  * Update style guide to require `optional="true"` be set on pname:pNext
    structure members (internal issue 2428).
  * Sort conditionals in ifdef:: output of spirvcapgenerator for stability
    (internal issue 2430).
  * Fix slink:VkGraphicsPipelineShaderGroupsCreateInfoNV VU 02886
    (internal merge request 4225).

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

JeGX

Quote
Change log for December 7, 2020 Vulkan 1.2.164 spec update:

  * Update release number to 164 for this update.

Github Issues:

  * Reserve vendor ID for PoCL (public pull request 1411).

Internal Issues:

  * Add valid usage statements to ray tracing commands requiring they be
    given a ray tracing pipeline, and removing support for
    ename:ACCELERATION_STRUCTURE_TYPE_GENERIC in
    flink:vkCmdBuildAccelerationStructureNV (internal issue 2271).
  * Add valid usage statements disallowing the use of protected command
    buffers with Ray Tracing Pipelines and Ray Query instructions (internal
    issue 2409).
  * Move the un-numbered glossary / abbreviations / prefixes pseudo-chapters
    into a single appendix, so the table of contents looks cleaner (internal
    issue 2437).
  * Remove redundant valid usage statement from
    slink:VkCommandBufferAllocateInfo (internal merge request 4229).
  * Add missing <<features-inlineUniformBlock>> valid usage statement to
    slink:VkDescriptorSetLayoutBinding (internal merge request 4246).
  * Tweak example of Docker image invocation in `BUILD.adoc` (internal merge
    request 4249).
  * Capitalize code:LaunchIdKHR the same as in SPIR-V. code:LaunchSizeKHR
    and code:LaunchIdKHR are accessible in the code:CallableKHR shader stage
    (internal merge request 4252).
  * Remove unreachable (redundant) valid usage statements from
    flink:vkCmdBeginRenderPass and flink:vkCmdBeginRenderPass2 (internal
    merge request 4254).
  * Add missing `objtypeenum` attribute to `vk.xml` for slink:VkInstance
    (internal merge request 4263).
  * Change the chunked HTML target to use a more robust method of inserting
    additional Javascript and HTML to support the searchbox.

New Extensions:

  * `<<VK_NV_acquire_winrt_display>>`
  * `<<VK_VALVE_mutable_descriptor_type>>`

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

New Extensions

- VK_NV_acquire_winrt_display
Quote
This extension allows an application to take exclusive control of a display
on Windows 10 provided that the display is not already controlled by a
compositor.
When control is acquired the application has exclusive access to the display
until control is released or the application terminates.
An application's attempt to acquire is denied if a different application has
already acquired the display.

- VK_VALVE_mutable_descriptor_type
Quote
This extension allows applications to reduce descriptor memory footprint by
allowing a descriptor to be able to mutate to a given list of descriptor
types depending on which descriptor types are written into, or copied into a
descriptor set.

JeGX

Quote
Change log for December 14, 2020 Vulkan 1.2.165 spec update:

  * Update release number to 165 for this update.

Github Issues:

  * Fix interaction between imageless framebuffers and
    slink:VkImageViewUsageCreateInfo for slink:VkRenderPassBeginInfo,
    elink:VkImageUsageFlagBits, and in the
    <<resources-image-inherited-usage>> section (public issue 1391).
  * Fix `vk.xml` `optional` / `noautovalidity` attributes and corresponding
    explicit valid usage statements for
    slink:VkBuildAccelerationStructureModeKHR (public issue 1405).
  * Remove redundant / incomplete handle comments from `vk.xml` for
    elink:VkObjectType enumerants (public merge request 1412).

Internal Issues:

  * Create valid usage statements from constraints in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section (internal issue 2394).
  * Fix valid usage staement 01256 for slink:VkDisplaySurfaceCreateInfoKHR
    (internal issue 2404).
  * Expand and clarify the event race condition warning for
    flink:vkCmdWaitEvents to include two additional scenarios in which the
    effect and/or state of an event becomes undefined without additional
    synchronization operations (internal issue 2411).
  * Update valid usage statement for flink:vkSetLocalDimmingAMD (internal
    issue 2446).
  * Recast slink:VkStridedDeviceAddressRegionKHR valid usage statements in
    terms of size being non-zero, instead of pname:deviceAddress (internal
    issue 2450).
  * Add missing ename:VK_SHARING_MODE_CONCURRENT valid usage statement for
    flink:vkQueueSubmit (internal merge request 4244).
  * Add limits related to local size to the
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    section (internal merge request 4255).
  * Fix typo in description of
    slink:VkDescriptorUpdateTemplateEntry::pname:dstArrayElement (internal
    merge request 4260).
  * Remove repeated "`all`" from slink:VkGraphicsPipelineCreateInfo valid
    usage statements (internal merge request 4266).
  * Fix internal xrefs to the SPIR-V capabilities tables, which broke as a
    side effect of generating the table instead of handcoding it (internal
    merge request 4270).
  * Fix normative language for code:WorkgroupSize (internal merge request
    4272).
  * Restore `len` attribute to `vk.xml` after its recent accidental removal
    from slink:VkDescriptorSetAllocateInfo::pname:pSetLayouts (internal
    merge request 4275).
  * Remove trailing periods from SPIR-V valid usage statements (internal
    merge request 4284).
  * Base PDF theme on builtin fallback theme, simplifying it and adding
    support for some math characters not found in the default theme
    (internal merge request 4287).

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

Stefan

QuoteChange log for January 4, 2021 Vulkan 1.2.166 spec update:

  * Update release number to 166 for this update.

Github Issues:

  * Add an Issue to the appendix for `<<VK_EXT_debug_report>>` discussing
    how to compare handles returned by the debug report callback to
    application handles (public issue 368).
  * Specify the purpose of ename:VK_LOD_CLAMP_NONE in the description of
    slink:VkSamplerCreateInfo::pname:maxLod (public issue 663).
  * Clarify in the <<extendingvulkan-extensions-extensiondependencies,
    Extension Dependencies>> section that extensions may depend on both
    other extensions, and specific core API versions. Together with previous
    changes to this section, this should close out the original issue
    (public issue 865).

Internal Issues:

  * Add descriptions of image queries to the <<textures, Image Operations
    Overview>> and <<textures-queries, Image Query Instructions>> sections
    (internal issues 2416 and 2423).
  * Allow axis swapping to be carried through clamping in the
    <<primsrast-fragment-shading-rate-combining, Combining the Fragment
    Shading Rates>> section (internal issue 2420).
  * Move even-size requirements for planar formats to valid usage statements
    for slink:VkImageCreateInfo and slink:VkImageViewCreateInfo, and tweak
    descriptions of <<formats-definition, the corresponding formats>>
    accordingly (internal issue 2434).
  * Remove asciidoctor conditional macros from markup for
    slink:VkSamplerCreateInfo valid usage statement 01079 (internal issue
    2440).
  * Clarify behavior of the <<features-alphaToOne, pname:alphaToOne>>
    feature by linking the enable to the corresponding <<fragops-covg,
    Multisample Coverage>> fragment operation language, and specifying in
    the introduction to the <<fragops, Fragment Operations>> chapter that
    "`replacing`" a fragment shader output occurs whether or not the shader
    actually wrote that output (internal issue 2448).
  * Modify XML for
    slink:VkPipelineViewportShadingRateImageStateCreateInfoNV::pname:viewportCount
    to allow pname:viewportCount == 0 (internal issue 2449).
  * Remove "`built as`" requirement from valid usage statement 03579 for
    slink:VkWriteDescriptorSetAccelerationStructureKHR (internal issue
    2466).
  * Remove incorrect valid usage statement 03655 for
    slink:VkAccelerationStructureGeometryTrianglesDataKHR (internal issue
    2467).
  * Add location limits for mesh shaders to the
    <<interfaces-iointerfaces-limits, Shader Input and Output Locations>>
    table (internal merge request 3428).
source: https://github.com/KhronosGroup/Vulkan-Docs/commit/d7aab06b9be7a245945ec3f9cee772c27fbadc26

JeGX

Quote
Change log for January 19, 2021 Vulkan 1.2.167 spec update:

  * Update release number to 167 for this update.

Github Issues:

  * Clarify valid usage statements for slink:VkGraphicsPipelineCreateInfo
    interaction with potential format features (public issue 1392).
  * Use default PDF theme with a local fallback font, to provide
    floor/ceiling symbols (public issue 1400).
  * Fix valid usage statements to clarify that
    flink:vkCmdWriteAccelerationStructuresPropertiesNV only accepts
    ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV (public
    Vulkan-ValidationLayers issue 2448).
  * Add missing `SPV_KHR_multiview` SPIR-V extension to `vk.xml` (public
    Vulkan-ValidationLayers issue 2456).

Internal Issues:

  * Move Acceleration Structure chapter before Ray Traversal and Ray Tracing
    chapters and reorganize asciidoctor source markup, including inlining
    ray tracing sub-chapters (internal issue 2249).
  * Clarify the definition of the `optional='true'` XML attribute to allow
    its use with scalar types, and use it consistently in the specification
    and XML; this removes a few uses of the attribute and simplifies some
    valid usage statements (internal issue 2435).
  * Clarify that it is not valid to create an image view using a format that
    requires YCbCr conversion without passing a
    slink:VkSamplerYcbcrConversion in valid usage for
    slink:VkImageViewCreateInfo (internal issue 2458).
  * Clarify that pipeline flags do not cause the corresponding flags to
    appear in code:IncomingRayFlagsKHR variables (internal issue 2470).
  * Require that pname:supportedAlpha is never zero in text and valid usage
    statements for slink:VkDisplayPlaneCapabilitiesKHR and
    slink:VkDisplaySurfaceCreateInfoKHR (internal issue 2471).
  * Clarify that Dref values are supposed to be clamped for fixed-point
    accesses in the <<textures-depth-compare-operation, Depth Compare
    Operation>> section (internal issue 2474).
  * Fix typo for a destination stage in an issue in the
    `<<VK_EXT_transform_feedback>>` extension appendix (internal issue
    2477).
  * Restrict code:OpImageQueryLod, code:OpImageQuerySizeLod, and
    code:OpImageQueryLevels to require a sampler (not storage image) in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section (internal issue 2478).
  * Allow
    flink:vkGetAccelerationStructureBuildSizesKHR::pname:pMaxPrimitiveCounts
    to be zero by setting the `optional` attribute in the XML (internal
    issue 2480).
  * Update description of
    slink:VkDeviceMemoryReportCallbackDataEXT::pname:objectType for
    consistency with description of other parameters (internal issue 2485).
  * Add a valid usage statement to slink:VkRayTracingPipelineCreateInfoKHR
    requiring that all linked pipelines have the same set of flags specified
    from the etext:VK_PIPELINE_CREATE_RAY_TRACING_* bits (internal issue
    2489).
  * Add valid usage statements to flink:vkCmdBeginQuery /
    flink:vkCmdBeginQueryIndexedEXT to disallow use with pools created with
    ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR /
    ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR types
    (internal issue 2493).
  * Fix normative language for valid usage statements in the <<spirvenv,
    Vulkan Environment for SPIR-V>> appendix (internal merge request 4265).
  * Remove a few cases where `_KHR` suffixes were left on promoted
    extensions in valid usage statements (internal merge request 4293)
  * Update and futureproof a previously hardwired reference to Vulkan 1.1 in
    the <<introduction-conventions, Document Conventions>> section (internal
    merge request 4295).
  * Add code:PhysicalStorageBuffer as a valid atomic storage class in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section (internal merge request 4296).
  * Clean up phrasing of valid usage statements in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section (internal merge request 4297).
  * Add shared valid usage statement for buffer copy commands requiring
    pname:bufferRowLength to fit in a signed 32-bit integer (internal merge
    request 4302).
  * Add dname:VK_NO_STDDEF_H to allow apps to prevent including
    `<stddef.h>`, and document it in the <<boilerplate, API Boilerplate>>
    appendix (internal merge request 4312).
  * Fix typo `SkipTrianglesKHR` -> `SkipAABBsKHR` in the
    <<ray-traversal-culling-primitive, Ray Primitive Culling>> section
    (internal merge request 4315).

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

JeGX

Quote
Change log for January 25, 2021 Vulkan 1.2.168 spec update:

  * Update release number to 168 for this update.

Internal Issues:

  * Change slink:VkAccelerationStructureNV resource classification to
    non-linear, and slink:VkAccelerationStructureKHR is neither linear nor
    non-linear. This affects the memory classification for purposes of
    <<resources-bufferimagegranularity,bufferImageGranularity>> (internal
    issue 2289).
  * Specify which storage classes are affected by code:scalarBlockLayout in
    the <<interfaces-resources-standard-layout, Standard Buffer Layout>>
    section (internal merge request 4280).
  * Flatten valid usage statements in the
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    section so they are correctly processed by the VU extractor script
    (internal merge request 4285).

New Extensions:

  * `<<VK_KHR_workgroup_memory_explicit_layout>>`
  * `<<VK_KHR_zero_initialize_workgroup_memory>>`

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

New extensions:
- VK_KHR_workgroup_memory_explicit_layout
Quote
This extension adds Vulkan support for the
{spirv}/KHR/SPV_KHR_workgroup_memory_explicit_layout.html[`SPV_KHR_workgroup_memory_explicit_layout`]
SPIR-V extension, which allows shaders to explicitly define the layout of
code:Workgroup storage class memory and create aliases between variables
from that storage class in a compute shader.

The aliasing feature allows different "views" on the same data, so the
shader can bulk copy data from another storage class using one type (e.g. an
array of large vectors), and then use the data with a more specific type.
It also enables reducing the amount of workgroup memory consumed by allowing
the shader to alias data whose lifetimes don't overlap.

The explicit layout support and some form of aliasing is also required for
layering OpenCL on top of Vulkan.

- VK_KHR_zero_initialize_workgroup_memory
Quote
This extension allows the use of a null constant initializer on shader
Workgroup memory variables, allowing implementations to expose any special
hardware or instructions they may have.
Zero initialization is commonly used by applications running untrusted
content (e.g. web browsers) as way of defeating memory-scraping attacks.

JeGX

Quote
Change log for February 2, 2021 Vulkan 1.2.169 spec update:

  * Update release number to 169 for this update.

Github Issues:

  * Fix typos in language in the <<vertexpostproc-renderpass-transform,
    Render Pass Transform>> section (public issue 1406).
  * Fix case of etext:EXTENSION_NAME and etext:SPEC_VERSION enums in
    `vk.xml` for the `<<VK_QCOM_rotated_copy>>` extension (public issue
    1427).
  * Fix equations in the <<ray-intersection-candidate-determination, Ray
    Intersection Candidate Determination>> section (public issue 1427).
  * Modify examples in the `<<VK_EXT_debug_utils>>` appendix to use
    flink:vkGetInstanceProcAddr (public issue 1432).
  * Various typo fixes (public pull request 1434).

Internal Issues:

  * Add missing query types to the the introduction of the <<queries>>
    chapter (internal issue 2488).
  * Tag use of union types in `vk.xml` as `noautovalidity`, since we don't
    generate meaningful valid usage statements or validation layer code at
    present. This removes a few nonsensical, and unimplemented valid usage
    statements of form 'ptext:param must: be a valid stext:VkUnionType union
    (internal issue 2490).
  * Flatten inline lists in valid usage statements in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section so the VU extraction script can process them properly (internal
    issue 2502).
  * Move some common copy buffer / copy image valid usage statements to
    `copy_bufferimage_to_imagebuffer_common.txt` so they can be shared
    (internal merge request 4344).
  * Update copyright dates to 2021 (internal merge request 4345),
  * Fix typos in asciidoctor conditional markup in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section (internal issue 4349).
  * Fix typos in SPIR-V capability names
    code:WorkgroupMemoryExplicitLayout8BitAccessKHR and
    code:WorkgroupMemoryExplicitLayout16BitAccessKHR (internal merge request
    4359).
  * Fix typo in description of
    slink:VkCoarseSampleLocationNV::pname:pSampleLocations (internal merge
    request 4365).

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

JeGX

Quote
Change log for February 15, 2021 Vulkan 1.2.170 spec update:

  * Update release number to 170 for this update.

Internal Issues:

  * Add missing language for zero hit groups to the <<shader-binding-table,
    Shader Binding Table>> section and related valid usage statements
    (internal issue 2505).

New Extensions:

  * `<<VK_KHR_synchronization2>>`

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

New extension:
- VK_KHR_synchronization2
Quote
This extension modifies the original core synchronization APIs to simplify
the interface and improve usability of these APIs.
It also adds new pipeline stage and access flag types that extend into the
64-bit range, as we have run out within the 32-bit range.
The new flags are identical to the old values within the 32-bit range, with
new stages and bits beyond that.

JeGX

Quote
Change log for March 1, 2021 Vulkan 1.2.171 spec update:

  * Update release number to 171 for this update.

Github Issues:

  * Use `strictly increasing` rather than `monotonically increasing` in the
    definition of <<glossary, timeline semaphores>> (public issue 1424).
  * Add missing raytracing pipeline creation information from
    `<<VK_KHR_pipeline_executable_properties>>` to
    flink:vkGetPipelineExecutableStatisticsKHR and
    flink:vkGetPipelineExecutableInternalRepresentationsKHR valid usage
    statements (public issue 1433).
  * Add missing `SPV_EXT_shader_atomic_float` to `vk.xml` (public issue
    1447).
  * Fix ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL to
    ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT in synchronization
    valid usage statement 03938 (public issue 1458).
  * Correct the <<interfaces-resources-setandbinding, DescriptorSet and
    Binding Assignment>> "`noteworthy example`" to refer to code:OpTypeImage
    code:Samplerd=1, not code:OpTypeSampler code:Sampled=1 (public pull
    request 1459).
  * Clarify that the value of slink:VkViewport::pname:minDepth is not
    restricted relative to pname:maxDepth (Vulkan-Headers public issue 180).
  * Add valid usage statement to <<spirvenv-module-validation-standalone,
    Standalone SPIR-V Validation>> specifying that push constant array
    members must only be accessed with dynamically uniform indices
    (SPIRV-Tools public issue 2909)
  * Add valid usage statement to <<spirvenv-module-validation-standalone,
    Standalone SPIR-V Validation>> specifying when the code:Flat decoration
    must be used (SPIRV-Tools public issue 3154)

Internal Issues:

  * Specifiy the maximum allowed pname:depthBias unit for
    flink:vkCmdSetDepthBias (internal issue 2455).
  * Add `"protect"` attribute to provisional extension enumerants, and emit
    them with that symbol for runtime conditional inclusion from
    `vulkan_core.h`. Update description of ename:VK_ENABLE_BETA_EXTENSIONS
    to match (internal issue 2481).
  * Add valid usage statement to slink:VkImageViewCreateInfo to ban 3D image
    views when the ename:VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT is
    set (internal issue 2501).
  * Add explicit language for the zero hit group intersection shader to the
    <<ray-intersection-confirmation, Ray Intersection Confirmation>> section
    (internal issue 2505).
  * Add a new <<raytraversal-ray-intersection-candidate-diagram, basic ray
    diagram>> (internal issue 2518).
  * Clarify that acceptable fragment shading rates are less than *or equal*
    to, not just less than, in the description of the
    <<primsrast-fragment-shading-rate-combining final combined shading
    rate>> (internal issue 2524)
  * Refer to correct barycentric coordinates for
    <<ray-intersection-candidate-determination, triangle intersection
    coordinates>> (internal issue 2525).
  * Add valid usage statements to drawing commands to match
    pname:rasterizationSamples in the pipeline state and the current
    attachments (internal merge request 4332).
  * Make use of ename:VK_WHOLE_SIZE consistent with sized flush in valid
    usage statement for slink:VkMappedMemoryRange (internal merge request
    4373).
  * Fix asciidoctor ifdef markup around
    ename:VK_MEMORY_HEAP_MULTI_INSTANCE_BIT (internal merge request 4383).
  * Move improperly placed valid usage statements from
    slink:VkImageViewCreateInfo to slink:VkImageCreateInfo (internal merge
    request 4390).
  * Add valid usage statements to <<spirvenv-module-validation-standalone,
    Standalone SPIR-V Validation>> for pname:minTexelGatherOffset and
    pname:minTexelGatherOffset.
  * Make <<spirvenv-module-validation-standalone, Standalone SPIR-V
    Validation>> valid usage statement 04681 unconditional, rather than
    having two versions when a relevant Vulkan extension is or is not
    enabled, since this is *standalone* validation.

New Extensions

  * `<<VK_QNX_screen_surface>>` (public pull request 1449).

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

New extension:
VK_QNX_screen_surface (BlackBerry)
Quote
The `VK_QNX_screen_surface` extension is an instance extension.
It provides a mechanism to create a slink:VkSurfaceKHR object (defined by
the `<<VK_KHR_surface>>` extension) that refers to a QNX Screen code:window,
as well as a query to determine support for rendering to a QNX Screen
compositor.

JeGX

Quote
Change log for March 8, 2021 Vulkan 1.2.172 spec update:

  * Update release number to 172 for this update.

Internal Issues:

  * Remove asciidoctor conditional markup for extensions from
    <<spirvenv-module-validation-standalone, Standalone SPIR-V valid usage
    statements>>, and add a note to this effect for future additions
    (internal issue 2512).
  * Update the descriptions (and related validation rules) of
    code:uniformAndStorageBuffer8BitAccess and
    code:uniformAndStorageBuffer16BitAccess to only refer to the
    code:Uniform storage class; and update the 16-bit storage feature
    validation rules to refer to 16-bit floating-point, similarly to the
    feature descriptions. These changes are in the
    <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
    <<features-requirements, Feature Requirements>> sections (internal issue
    2535).
  * Ban recursion in tlink:PFN_vkDebugUtilsMessengerCallbackEXT callbacks,
    for consistency of `<<VK_EXT_debug_utils_callbacks>>` with
    `<<VK_EXT_device_memory_report>>` and the rules for
    slink:VkAllocationCallbacks (internal issue 2537).
  * Remove dependency on `<<VK_KHR_create_renderpass2>>` from `vk.xml` for
    `<<VK_KHR_synchronization2>>` (internal issue 2539).
  * Add the transform feedback pipeline stage as valid for
    ename:VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT access (internal
    merge request 4355).
  * Fix typo in `<<VK_EXT_debug_utils>>` examples (internal merge request
    4395).
  * Fix typo to refer to "`buffer view`" rather than "`image view`" in the
    valid usage statements for code:OpImageWrite (internal merge request
    4398).
  * Fix typo in the mandatory features section related to
    `<<VK_KHR_ray_tracing_pipeline>>` (internal merge request 4406).

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

JeGX

Quote
Change log for March 21, 2021 Vulkan 1.2.173 spec update:

  * Update release number to 173 for this update.

Github Issues:

  * Fix valid usage statement for flink:vkCmdBeginQueryIndexedEXT to allow
    multiple active queries of the same type, as long as their index values
    are different (public issue 1357).
  * Fix tagging for slink:VkPhysicalDeviceVulkan11Features in `vk.xml`
    (public issue 1437).
  * Update the <<WSI Swapchain>> chapter's use of "`release`" and
    "`present`" terminology (public pull request 1470).
  * Migrate from Azure Pipelines to Github Actions for CI, and use updated
    Khronos Docker image to build (public pull request 1473).

Internal Issues:

  * Document requirements for extension <<extensions-feature-structures,
    Feature Structures>> (internal issue 2503).
  * Add missing valid usage statements for slink:VkAttachmentReference2 and
    separate depth/stencil layouts (internal issue 2509).
  * Clarify interactions between `<<VK_EXT_buffer_device_address>>` and
    Vulkan 1.2 in slink:VkDeviceCreateInfo valid usage (internal issue
    2530).
  * Allow variation in number of acceleration structure handles following a
    top-level acceleration structures for
    flink:vkCmdCopyAccelerationStructureToMemoryKHR (internal issue 2538).
  * Specify implementation requirement for device timestamps in the
    description of elink:VkTimeDomainEXT (internal issue 2551).
  * Update valid usage ID assignment and extraction scripts to handle IDs
    containing function pointer names (internal issue 2557).
  * Move some runtime restrictions to
    <<spirvenv-module-validation-standalone Standalone SPIR-V>> valid usage
    statements (internal merge request 4286).
  * Use new version of the HTML asciidoctor-chunker, which runs much faster,
    and a new Docker image which omits the old implementation of the chunker
    (internal merge request 4391).
  * Fix <<devsandqueues-devices, logical device creation language>> for
    Vulkan 1.1 (internal merge request 4405).
  * Modify scripts to enable platform extensions to be filtered by the
    `"supported"` attribute in `vk.xml` (internal merge request 4411).
  * Add common valid usage statement for draw/dispatch commands on format
    support for mip filters (internal merge request 4413).
  * Fix valid usage statement extractor (vu-to-json) to add padding after
    inserted list items, so they don't absorb other markup that might come
    after in the document (internal merge request 4423).
  * Disallow shadow lookups on 3D images in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section. This is not supported on all hardware, and should not have been
    allowed (internal merge request 4424).

New Extensions:

  * `<<VK_FUCHSIA_external_memory>>`
  * `<<VK_FUCHSIA_external_semaphore>>`

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


New extensions:
- VK_FUCHSIA_external_memory
Quote
Vulkan apps may wish to export or import device memory handles to or from
other logical devices, instances or APIs.

This memory sharing can eliminate copies of memory buffers when different
subsystems need to interoperate on them.
Sharing memory buffers may also facilitate a better distribution of
processing workload for more complex memory manipulation pipelines.

- VK_FUCHSIA_external_semaphore
Quote
An application using external memory may wish to synchronize access to that
memory using semaphores.
This extension enables an application to export semaphore payload to and
import semaphore payload from Zircon event handles.

JeGX

Quote
Change log for March 29, 2021 Vulkan 1.2.174 spec update:

  * Update release number to 174 for this update.

Github Issues:

  * Add a common header macro dname:VK_USE_64_BIT_PTR_DEFINES to specify at
    compile time whether non-dispatchable handles are declared using a
    64-bit pointer type, or a 64-bit unsigned interger type. NOTE: it is
    possible that the complex platform-dependent C preprocessor block will
    move from vk.xml into the static (non-generated) vk_platform.h header in
    the near future (partially addresses public issue 1431, in addition to
    internal needs).
  * Clarify code:PatchVertices documentation for tessellation shaders
    (public pull request 1475).

Internal Issues:

  * Add valid usage statements restricting bitfield operations to 32-bit
    types in the <<spirvenv-module-validation-standalone, Standalone SPIR-V
    Validation>> section (internal issue 2561).
  * Update registry documentation to require providing the `type` attribute
    of `enum` tags when they are specifying compile-time constants, and
    change the accepted values of the attribute to a small set of C scalar
    type names, instead of schema-specific names. The XML schema itself
    would ideally be updated to match, but we don't know how to do that yet
    (internal issue 2564). NOTE: it is possible this will affect downstream
    consumers of `vk.xml`, although we consider this unlikely.
  * Document in the style guide that bits reserved in corresponding 32- and
    64-bit bitmasks should be reserved in both types (internal merge issue
    2565).
  * Add output generator options to generate MISRA-friendly headers, and
    check generator scripts to avoid generating etext:RESERVED 64-bit
    bitflag names specified by `disabled` extensions in `vk.xml` (internal
    merge request 4239, internal issue 2572).
  * Clarify that compressed copies need to round up division in the
    computation `rowLength` and `imageHeight` in the sample code for the
    <<copies-buffers-images-addressing, Buffer and Image Addressing>>
    section (internal merge request 4439).

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

JeGX

Quote
Change log for April 13, 2021 Vulkan 1.2.175 spec update:

  * Update release number to 175 for this update.

Github Issues:

  * Specify that fragment shader invocations in the same quad scope are also
    in the same primitive scope (public issue 1465).
  * Fix an incorrect reference to ename:VK_SHARING_MODE_CONCURRENT to the
    correct ename:VK_SHARING_MODE_EXCLUSIVE in the queue transfer wording
    for slink:VkBufferMemoryBarrier2KHR (public issue 1479).
  * Fix description of <<vertexpostproc-clipping, Primitive Clipping>>
    (public issues 1480 and 1481).

Internal Issues:

  * Use consistent language in describing <<features, feature>> and
    <<limits, property (limit)>> queries. In particular, a few structures
    were described as being usable to query feature support, but not to set
    it. This was incorrect. All feature structures which can appear in the
    pname:pNext chain of slink:VkPhysicalDeviceFeatures2 can be used to both
    query and set (internal issue 2310).
  * Add `limittype` attributes to the XML schema and to `vk.xml` for
    structure members which are part of physical device property queries, to
    annotate how the resulting properties are interpreted and replace some
    manual interpretation of these properties (internal issue 2427).
  * Improve slink:VkAttachmentDescription2 wording around the use of
    slink:VkAttachmentDescriptionStencilLayout for specifying the stencil
    aspect layout (internal issue 2496).
  * Split the <<extendingvulkan-coreversions-versionnumbers, major version
    field>> of a packed pname:apiVersion value, introducing a new `variant`
    field. This field allows identification of APIs based on Vulkan, but not
    fully compatible with Vulkan applications. Vulkan is variant 0, making
    the change backwards compatible with the previous definition of
    pname:apiVersion. This change was introduced to enable variants of the
    Vulkan API that Khronos may release in the future, in particular the
    in-development Vulkan SC API. It is purely a future-proofing measure and
    no near-term further use is planned. To support this split, a set of new
    macros is introduced: dname:VK_API_VERSION_VARIANT,
    dname:VK_API_VERSION_MAJOR, dname:VK_API_VERSION_MINOR, and
    dname:VK_API_VERSION_PATCH (internal issue 2531).
  * Clarify that the slink:VkRectLayerKHR members of a
    slink:VkPresentRegionKHR structure must not be transformed to align with
    the swapchain's pname:pTransform. The presentation engine must do this
    transform (internal issue 2571).
  * Fix minor issues with exposed asciidoctor markup in spec outputs
    (internal issue 2576).
  * Tighten up wording around pool entries of mutable descriptor types. for
    slink:VkDescriptorPoolCreateInfo (internal issue 2578).
  * Expand on wording of code:FPRoundingMode valid usage statement in the
    <<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
    section (internal merge request 4298).
  * Document interaction with `<<VK_KHR_fragment_shading_rate>>` for
    `<<VK_QCOM_render_pass_transform>>` (internal merge request 4221).
  * Require compile-time constants be explicitly tagged as unsigned or float
    in `vk.xml`. Modify the generator scripts and schema documentation to
    require `type` attributes for such constants. This allows generating
    headers compliant with MISRA section 10.4 requirements, where needed
    (internal merge request 4451).
  * Minor editorial fixes (internal merge request 4454).
  * Disallow code:*Offset* decorations on storage images
    in the <<spirvenv-module-validation-standalone, Standalone SPIR-V
    Validation>> section (internal merge request 4465).
  * Improve the code: macro used in spec markup to allow imbedded wildcards
    separating words and a trailing wildcard (internal merge request 4466).
  * Modify `vk.xml` `requires` attributes to reorder definitions of
    dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE and dname:VK_NULL_HANDLE. This
    prevents a corner case where the app overriding the first macro
    explicitly would prevent definition of dname:VK_NULL_HANDLE (internal
    merge request 4476).

New Extensions:

  * `<<VK_EXT_color_write_enable>>`
  * `<<VK_EXT_vertex_input_dynamic_state>>`
  * `<<VK_EXT_ycbcr_2plane_444_format>>`
  * `<<VK_NV_inherited_viewport_scissor>>`
  * Vulkan video core & codecs provisional extension package, including
  ** `<<VK_KHR_video_queue>>`
  ** `<<VK_KHR_video_decode_queue>>`
  ** `<<VK_KHR_video_encode_queue>>`
  ** `<<VK_EXT_video_decode_h264>>`
  ** `<<VK_EXT_video_decode_h265>>`
  ** `<<VK_EXT_video_encode_h264>>`

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

New extensions:

- VK_EXT_color_write_enable
Quote
This extension allows for selectively enabling and disabling writes to
output color attachments via a pipeline dynamic state.

The intended use cases for this new state are mostly identical to those of
colorWriteMask, such as selectively disabling writes to avoid feedback loops
between subpasses or bandwidth savings for unused outputs.
By making the state dynamic, one additional benefit is the ability to reduce
pipeline counts and pipeline switching via shaders that write a superset of
the desired data of which subsets are selected dynamically.
The reason for a new state, colorWriteEnable, rather than making
colorWriteMask dynamic is that, on many implementations, the more flexible
per-channel semantics of the colorWriteMask state cannot be made dynamic in
a performant manner.


- VK_EXT_vertex_input_dynamic_state
Quote
One of the states that contributes to the combinatorial explosion of
pipeline state objects that need to be created, is the vertex input binding
and attribute descriptions.
By allowing them to be dynamic applications may reduce the number of
pipeline objects they need to create.

This extension adds dynamic state support for what is normally static state
in slink:VkPipelineVertexInputStateCreateInfo.


- VK_EXT_ycbcr_2plane_444_format
Quote
This extension adds some {YCbCr} formats that are in common use for video
encode and decode, but were not part of the
<<VK_KHR_sampler_ycbcr_conversion>> extension.


- VK_NV_inherited_viewport_scissor
Quote
This extension adds the ability for a secondary command buffer to inherit
the dynamic viewport and scissor state from a primary command buffer, or a
previous secondary command buffer executed within the same
flink:vkCmdExecuteCommands call.
It addresses a frequent scenario in applications that deal with window
resizing and want to improve utilization of re-usable secondary command
buffers.
The functionality is provided through
slink:VkCommandBufferInheritanceViewportScissorInfoNV.
Viewport inheritance is effectively limited to the 2D rectangle; secondary
command buffers must re-specify the inherited depth range values.

JeGX

Quote
Change log for April 19, 2021 Vulkan 1.2.176 spec update:

  * Update release number to 176 for this update.

Github Issues:

  * Fix many typos (based on public issues 1483 & 1484).
  * Fix an error in the definition of dname:VK_NULL_HANDLE which caused a
    compilation error with one version of MSVC (public issue 1502).
  * Remove duplicate requirement for elink:VkStructureType from
    dname:VK_VERSION_1_0 block of `vk.xml` (public merge request 1504).

Internal Issues:

  * Modify extension metadoc generator to include Contact information in
    extension reference pages (internal issue 2611).
  * Fix XML consistency checker script to add exceptions to naming patterns
    for new extensions (internal merge request 4491).
  * Clean up latest revision numbers in some video extension appendices to
    be integers, for compatibility with the consistency checker script
    (internal merge request 4492).
  * Mark slink:VkIndirectCommandsLayoutCreateInfoNV pname:flags member as
    `optional` in `vk.xml` (internal merge request 4501).

New Extensions:

  * `<<VK_EXT_extended_dynamic_state2>>`

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

New extension:
- VK_EXT_extended_dynamic_state2
Quote
This extension adds some more dynamic state to support applications that
need to reduce the number of pipeline state objects they compile and bind.

JeGX

Quote
Change log for April 26, 2021 Vulkan 1.2.177 spec update:

  * Update release number to 177 for this update.

Github Issues:

  * Add valid usage statement to flink:vkDestroyImage to prevent destruction
    of presentable images acquired from flink:vkGetSwapchainImagesKHR
    (public Vulkan-ValidationLayers issue 2718).

Internal Issues:

  * Add proposal template for new feature development (internal issue 2529).
  * Remove valid usage statement 03361 from flink:vkCmdBindVertexBuffers2EXT
    (internal issue 2600).
  * Finish fixing refpage formatting issues for the new video extensions
    (internal issue 2611).
  * Invert direction of ray space matrix to correct the
    <<ray-intersection-candidate-determination, ray/triangle sidedness
    test>> (internal merge request 4480).
  * Fix capitalization of etext:*_EXTENSION_NAME and etext:*_SPEC_VERSION
    tokens for `<<VK_QCOM_render_pass_store_ops>>` (internal merge request
    4490).
  * Don't generate etext:*_MAX_ENUM tokens for 64-bit flag types. Note that
    these tokens are *explicitly* not part of the Vulkan API and are not
    included in the Specification, only in generated headers. They are added
    to enumerated types to ensure padding to 32 bits, but are completely
    pointless for the 64-bit flag types, which are defined as integer
    constants rather than enumerants (internal merge request 4493).
  * Remove empty VK_ENABLE_BETA_EXTENSION guards from headers when disabling
    extensions (internal merge request 4498).
  * Reproduce valid usage statement constraining pname:query from
    flink:vkCmdBeginQuery to
    flink:vkCmdWriteAccelerationStructuresPropertiesKHR (internal merge
    request 4520).

New Extensions:

  * `<<VK_EXT_provoking_vertex>>`

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

New extension:

- VK_EXT_provoking_vertex

Quote
This extension allows changing the provoking vertex convention between
Vulkan's default convention (first vertex) and OpenGL's convention (last
vertex).

This extension is intended for use by API-translation layers that implement
APIs like OpenGL on top of Vulkan, and need to match the source API's
provoking vertex convention.
Applications using Vulkan directly should use Vulkan's default convention.


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.