// Copyright 2022-2023 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 include::{generated}/meta/{refprefix}VK_KHR_maintenance5.adoc[] === Other Extension Metadata *Last Modified Date*:: 2023-05-02 *Interactions and External Dependencies*:: *Contributors*:: - Stu Smith, AMD - Tobias Hector, AMD - Shahbaz Youssefi, Google - Slawomir Cygan, Intel - Lionel Landwerlin, Intel - James Fitzpatrick, Imagination Technologies - Andrew Garrard, Imagination Technologies - Ralph Potter, Samsung - Pan Gao, Huawei - Jan-Harald Fredriksen, ARM - Jon Leech, Khronos - Mike Blumenkrantz, Valve === Description `VK_KHR_maintenance5` adds a collection of minor features, none of which would warrant an entire extension of their own. The new features are as follows: * A new ename:VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR format * A new ename:VK_FORMAT_A8_UNORM_KHR format * A property to indicate that multisample coverage operations are performed after sample counting in EarlyFragmentTests mode * Relax VkBufferView creation requirements by allowing subsets of the associated VkBuffer usage using sname:VkBufferUsageFlags2CreateInfoKHR * A new entry point flink:vkCmdBindIndexBuffer2KHR, allowing a range of memory to be bound as an index buffer * flink:vkGetDeviceProcAddr must return code:NULL for supported core functions beyond the version requested by the application. * A property to indicate that the sample mask test is performed after sample counting in EarlyFragmentTests mode * `vkCmdBindVertexBuffers2` now supports using `VK_WHOLE_SIZE` in the `pSizes` parameter. * A default size of 1.0 is used if code:PointSize is not written * Shader modules are deprecated - applications can now pass slink:VkShaderModuleCreateInfo as a chained struct to pipeline creation via slink:VkPipelineShaderStageCreateInfo * A function flink:vkGetRenderingAreaGranularityKHR to query the optimal render area for a dynamic rendering instance. * A property to indicate that depth/stencil texturing operations with ename:VK_COMPONENT_SWIZZLE_ONE have defined behavior * Add flink:vkGetImageSubresourceLayout2KHR and a new function flink:vkGetDeviceImageSubresourceLayoutKHR to allow the application to query the image memory layout without having to create an image object and query it. * Allow ename:VK_REMAINING_ARRAY_LAYERS as the pname:layerCount member of slink:VkImageSubresourceLayers * Adds stronger guarantees for propagation of ename:VK_ERROR_DEVICE_LOST return values * A property to indicate whether code:PointSize controls the final rasterization of polygons if <> is ename:VK_POLYGON_MODE_POINT * Two properties to indicate the non-strict line rasterization algorithm used * Two new flags words elink:VkPipelineCreateFlagBits2KHR and elink:VkBufferUsageFlagBits2KHR * Physical-device-level functions can now be called with any value in the valid range for a type beyond the defined enumerants, such that applications can avoid checking individual features, extensions, or versions before querying supported properties of a particular enumerant. * Clarification that copies between images of any type are allowed, treating 1D images as 2D images with a height of 1. include::{generated}/interfaces/VK_KHR_maintenance5.adoc[] === Issues None. === Version History * Revision 1, 2022-12-12 (Stu Smith) ** Initial revision