1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
// Copyright 2016-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
include::{generated}/meta/{refprefix}VK_KHR_maintenance4.adoc[]
=== Other Extension Metadata
*Last Modified Date*::
2021-10-25
*Interactions and External Dependencies*::
- Requires SPIR-V 1.2 for code:LocalSizeId
*Contributors*::
- Lionel Duc, NVIDIA
- Faith Ekstrand, Intel
- Spencer Fricke, Samsung
- Tobias Hector, AMD
- Lionel Landwerlin, Intel
- Graeme Leese, Broadcom
- Tom Olson, Arm
- Stu Smith, AMD
- Yiwei Zhang, Google
=== Description
`VK_KHR_maintenance4` adds a collection of minor features, none of which
would warrant an entire extension of their own.
The new features are as follows:
* Allow the application to destroy their slink:VkPipelineLayout object
immediately after it was used to create another object.
It is no longer necessary to keep its handle valid while the created
object is in use.
* Add a new <<limits-maxBufferSize, pname:maxBufferSize>>
implementation-defined limit for the maximum size sname:VkBuffer that
can: be created.
* Add support for the SPIR-V 1.2 code:LocalSizeId execution mode, which
can be used as an alternative to code:LocalSize to specify the local
workgroup size with specialization constants.
* Add a guarantee that images created with identical creation parameters
will always have the same alignment requirements.
* Add new flink:vkGetDeviceBufferMemoryRequirementsKHR,
flink:vkGetDeviceImageMemoryRequirementsKHR, and
flink:vkGetDeviceImageSparseMemoryRequirementsKHR to allow the
application to query the image memory requirements without having to
create an image object and query it.
* Relax the requirement that push constants must be initialized before
they are dynamically accessed.
* Relax the interface matching rules to allow a larger output vector to
match with a smaller input vector, with additional values being
discarded.
* Add a guarantee for buffer memory requirement that the size memory
requirement is never greater than the result of aligning create size
with the alignment memory requirement.
include::{generated}/interfaces/VK_KHR_maintenance4.adoc[]
=== Promotion to Vulkan 1.3
Functionality in this extension is included in core Vulkan 1.3, with the KHR
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.
=== Issues
None.
=== Version History
* Revision 1, 2021-08-18 (Piers Daniell)
** Internal revisions
* Revision 2, 2021-10-25 (Yiwei Zhang)
** More guarantees on buffer memory requirements
|