• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2017-2018 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
5include::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
25The `VK_KHR_16bit_storage` extension allows use of 16-bit types in shader
26input and output interfaces, and push constant blocks.
27This extension introduces several new optional features which map to SPIR-V
28capabilities and allow access to 16-bit data in code:Block-decorated objects
29in the code:Uniform and the code:StorageBuffer storage classes, and objects
30in the code:PushConstant storage class.
31This extension allows 16-bit variables to be declared and used as
32user-defined shader inputs and outputs but does not change location
33assignment 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
53All functionality in this extension is included in core Vulkan 1.1, with the
54KHR suffix omitted.
55The original type, enum and command names are still available as aliases of
56the core functionality.
57
58=== Issues
59
60=== Version History
61
62  * Revision 1, 2017-03-23 (Alexander Galazin)
63    - Initial draft
64