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