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