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