64 lines
2.1 KiB
Plaintext
64 lines
2.1 KiB
Plaintext
// 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
|
|
|
|
* <<spirvenv-capabilities-table-16bitstorage,code:StorageBuffer16BitAccess>>
|
|
* <<spirvenv-capabilities-table-16bitstorage,code:UniformAndStorageBuffer16BitAccess>>
|
|
* <<spirvenv-capabilities-table-16bitstorage,code:StoragePushConstant16>>
|
|
* <<spirvenv-capabilities-table-16bitstorage,code:StorageInputOutput16>>
|
|
|
|
=== 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
|