/ appendices / VK_KHR_16bit_storage.txt
VK_KHR_16bit_storage.txt
1 // Copyright (c) 2017-2019 Khronos Group. This work is licensed under a 2 // Creative Commons Attribution 4.0 International License; see 3 // http://creativecommons.org/licenses/by/4.0/ 4 5 include::meta/VK_KHR_16bit_storage.txt[] 6 7 *Last Modified Date*:: 8 2017-09-05 9 *IP Status*:: 10 No known IP claims. 11 *Interactions and External Dependencies*:: 12 - This extension requires 13 https://www.khronos.org/registry/spir-v/extensions/KHR/SPV_KHR_16bit_storage.html[`SPV_KHR_16bit_storage`] 14 - Promoted to Vulkan 1.1 Core 15 *Contributors*:: 16 - Alexander Galazin, ARM 17 - Jan-Harald Fredriksen, ARM 18 - Joerg Wagner, ARM 19 - Neil Henning, Codeplay 20 - Jeff Bolz, Nvidia 21 - Daniel Koch, Nvidia 22 - David Neto, Google 23 - John Kessenich, Google 24 25 The `VK_KHR_16bit_storage` extension allows use of 16-bit types in shader 26 input and output interfaces, and push constant blocks. 27 This extension introduces several new optional features which map to SPIR-V 28 capabilities and allow access to 16-bit data in code:Block-decorated objects 29 in the code:Uniform and the code:StorageBuffer storage classes, and objects 30 in the code:PushConstant storage class. 31 This extension allows 16-bit variables to be declared and used as 32 user-defined shader inputs and outputs but does not change location 33 assignment and component assignment rules. 34 35 === New Enum Constants 36 37 * Extending elink:VkStructureType: 38 ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR 39 40 === New Structures 41 42 * slink:VkPhysicalDevice16BitStorageFeaturesKHR 43 44 === New SPIR-V Capabilities 45 46 * <<spirvenv-capabilities-table-16bitstorage,code:StorageBuffer16BitAccess>> 47 * <<spirvenv-capabilities-table-16bitstorage,code:UniformAndStorageBuffer16BitAccess>> 48 * <<spirvenv-capabilities-table-16bitstorage,code:StoragePushConstant16>> 49 * <<spirvenv-capabilities-table-16bitstorage,code:StorageInputOutput16>> 50 51 === Promotion to Vulkan 1.1 52 53 All functionality in this extension is included in core Vulkan 1.1, with the 54 KHR suffix omitted. 55 The original type, enum and command names are still available as aliases of 56 the core functionality. 57 58 === Issues 59 60 === Version History 61 62 * Revision 1, 2017-03-23 (Alexander Galazin) 63 - Initial draft