1e5c31af7Sopenharmony_ci// Copyright 2022-2024 The Khronos Group Inc.
2e5c31af7Sopenharmony_ci//
3e5c31af7Sopenharmony_ci// SPDX-License-Identifier: CC-BY-4.0
4e5c31af7Sopenharmony_ci
5e5c31af7Sopenharmony_ciinclude::{generated}/meta/{refprefix}VK_KHR_maintenance5.adoc[]
6e5c31af7Sopenharmony_ci
7e5c31af7Sopenharmony_ci=== Other Extension Metadata
8e5c31af7Sopenharmony_ci
9e5c31af7Sopenharmony_ci*Last Modified Date*::
10e5c31af7Sopenharmony_ci    2023-05-02
11e5c31af7Sopenharmony_ci
12e5c31af7Sopenharmony_ci*Interactions and External Dependencies*::
13e5c31af7Sopenharmony_ci
14e5c31af7Sopenharmony_ci*Contributors*::
15e5c31af7Sopenharmony_ci  - Stu Smith, AMD
16e5c31af7Sopenharmony_ci  - Tobias Hector, AMD
17e5c31af7Sopenharmony_ci  - Shahbaz Youssefi, Google
18e5c31af7Sopenharmony_ci  - Slawomir Cygan, Intel
19e5c31af7Sopenharmony_ci  - Lionel Landwerlin, Intel
20e5c31af7Sopenharmony_ci  - James Fitzpatrick, Imagination Technologies
21e5c31af7Sopenharmony_ci  - Andrew Garrard, Imagination Technologies
22e5c31af7Sopenharmony_ci  - Ralph Potter, Samsung
23e5c31af7Sopenharmony_ci  - Pan Gao, Huawei
24e5c31af7Sopenharmony_ci  - Jan-Harald Fredriksen, ARM
25e5c31af7Sopenharmony_ci  - Jon Leech, Khronos
26e5c31af7Sopenharmony_ci  - Mike Blumenkrantz, Valve
27e5c31af7Sopenharmony_ci
28e5c31af7Sopenharmony_ci=== Description
29e5c31af7Sopenharmony_ci
30e5c31af7Sopenharmony_ci`VK_KHR_maintenance5` adds a collection of minor features, none of which
31e5c31af7Sopenharmony_ciwould warrant an entire extension of their own.
32e5c31af7Sopenharmony_ci
33e5c31af7Sopenharmony_ciThe new features are as follows:
34e5c31af7Sopenharmony_ci
35e5c31af7Sopenharmony_ci  * A new ename:VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR format
36e5c31af7Sopenharmony_ci  * A new ename:VK_FORMAT_A8_UNORM_KHR format
37e5c31af7Sopenharmony_ci  * A property to indicate that multisample coverage operations are
38e5c31af7Sopenharmony_ci    performed after sample counting in EarlyFragmentTests mode
39e5c31af7Sopenharmony_ci  * Relax VkBufferView creation requirements by allowing subsets of the
40e5c31af7Sopenharmony_ci    associated VkBuffer usage using sname:VkBufferUsageFlags2CreateInfoKHR
41e5c31af7Sopenharmony_ci  * A new entry point flink:vkCmdBindIndexBuffer2KHR, allowing a range of
42e5c31af7Sopenharmony_ci    memory to be bound as an index buffer
43e5c31af7Sopenharmony_ci  * flink:vkGetDeviceProcAddr must return code:NULL for supported core
44e5c31af7Sopenharmony_ci    functions beyond the version requested by the application.
45e5c31af7Sopenharmony_ci  * A property to indicate that the sample mask test is performed after
46e5c31af7Sopenharmony_ci    sample counting in EarlyFragmentTests mode
47e5c31af7Sopenharmony_ci  * `vkCmdBindVertexBuffers2` now supports using `VK_WHOLE_SIZE` in the
48e5c31af7Sopenharmony_ci    `pSizes` parameter.
49e5c31af7Sopenharmony_ci  * A default size of 1.0 is used if code:PointSize is not written
50e5c31af7Sopenharmony_ci  * Shader modules are deprecated - applications can now pass
51e5c31af7Sopenharmony_ci    slink:VkShaderModuleCreateInfo as a chained struct to pipeline creation
52e5c31af7Sopenharmony_ci    via slink:VkPipelineShaderStageCreateInfo
53e5c31af7Sopenharmony_ci  * A function flink:vkGetRenderingAreaGranularityKHR to query the optimal
54e5c31af7Sopenharmony_ci    render area for a dynamic rendering instance.
55e5c31af7Sopenharmony_ci  * A property to indicate that depth/stencil texturing operations with
56e5c31af7Sopenharmony_ci    ename:VK_COMPONENT_SWIZZLE_ONE have defined behavior
57e5c31af7Sopenharmony_ci  * Add flink:vkGetImageSubresourceLayout2KHR and a new function
58e5c31af7Sopenharmony_ci    flink:vkGetDeviceImageSubresourceLayoutKHR to allow the application to
59e5c31af7Sopenharmony_ci    query the image memory layout without having to create an image object
60e5c31af7Sopenharmony_ci    and query it.
61e5c31af7Sopenharmony_ci  * Allow ename:VK_REMAINING_ARRAY_LAYERS as the pname:layerCount member of
62e5c31af7Sopenharmony_ci    slink:VkImageSubresourceLayers
63e5c31af7Sopenharmony_ci  * Adds stronger guarantees for propagation of ename:VK_ERROR_DEVICE_LOST
64e5c31af7Sopenharmony_ci    return values
65e5c31af7Sopenharmony_ci  * A property to indicate whether code:PointSize controls the final
66e5c31af7Sopenharmony_ci    rasterization of polygons if <<primsrast-polygonmode, polygon mode>> is
67e5c31af7Sopenharmony_ci    ename:VK_POLYGON_MODE_POINT
68e5c31af7Sopenharmony_ci  * Two properties to indicate the non-strict line rasterization algorithm
69e5c31af7Sopenharmony_ci    used
70e5c31af7Sopenharmony_ci  * Two new flags words elink:VkPipelineCreateFlagBits2KHR and
71e5c31af7Sopenharmony_ci    elink:VkBufferUsageFlagBits2KHR
72e5c31af7Sopenharmony_ci  * Physical-device-level functions can now be called with any value in the
73e5c31af7Sopenharmony_ci    valid range for a type beyond the defined enumerants, such that
74e5c31af7Sopenharmony_ci    applications can avoid checking individual features, extensions, or
75e5c31af7Sopenharmony_ci    versions before querying supported properties of a particular enumerant.
76e5c31af7Sopenharmony_ci  * Clarification that copies between images of any type are allowed,
77e5c31af7Sopenharmony_ci    treating 1D images as 2D images with a height of 1.
78e5c31af7Sopenharmony_ci
79e5c31af7Sopenharmony_ciinclude::{generated}/interfaces/VK_KHR_maintenance5.adoc[]
80e5c31af7Sopenharmony_ci
81e5c31af7Sopenharmony_ci=== Issues
82e5c31af7Sopenharmony_ci
83e5c31af7Sopenharmony_ciNone.
84e5c31af7Sopenharmony_ci
85e5c31af7Sopenharmony_ci=== Version History
86e5c31af7Sopenharmony_ci
87e5c31af7Sopenharmony_ci  * Revision 1, 2022-12-12 (Stu Smith)
88e5c31af7Sopenharmony_ci  ** Initial revision
89