/ 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