// Copyright (c) 2017-2019 Khronos Group. This work is licensed under a // Creative Commons Attribution 4.0 International License; see // http://creativecommons.org/licenses/by/4.0/ include::meta/VK_KHR_16bit_storage.txt[] *Last Modified Date*:: 2017-09-05 *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - This extension requires https://www.khronos.org/registry/spir-v/extensions/KHR/SPV_KHR_16bit_storage.html[`SPV_KHR_16bit_storage`] - Promoted to Vulkan 1.1 Core *Contributors*:: - Alexander Galazin, ARM - Jan-Harald Fredriksen, ARM - Joerg Wagner, ARM - Neil Henning, Codeplay - Jeff Bolz, Nvidia - Daniel Koch, Nvidia - David Neto, Google - John Kessenich, Google The `VK_KHR_16bit_storage` extension allows use of 16-bit types in shader input and output interfaces, and push constant blocks. This extension introduces several new optional features which map to SPIR-V capabilities and allow access to 16-bit data in code:Block-decorated objects in the code:Uniform and the code:StorageBuffer storage classes, and objects in the code:PushConstant storage class. This extension allows 16-bit variables to be declared and used as user-defined shader inputs and outputs but does not change location assignment and component assignment rules. === New Enum Constants * Extending elink:VkStructureType: ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR === New Structures * slink:VkPhysicalDevice16BitStorageFeaturesKHR === New SPIR-V Capabilities * <> * <> * <> * <> === Promotion to Vulkan 1.1 All functionality in this extension is included in core Vulkan 1.1, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality. === Issues === Version History * Revision 1, 2017-03-23 (Alexander Galazin) - Initial draft