2019-01-06 03:40:12 +00:00
|
|
|
// Copyright (c) 2014-2019 Khronos Group. This work is licensed under a
|
2018-12-03 10:41:34 +00:00
|
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
|
|
|
|
include::meta/VK_KHR_shader_float16_int8.txt[]
|
|
|
|
|
|
|
|
*Last Modified Date*::
|
|
|
|
2018-03-07
|
|
|
|
*IP Status*::
|
|
|
|
No known IP claims.
|
|
|
|
*Interactions and External Dependencies*::
|
|
|
|
- This extension interacts with `<<VK_KHR_8bit_storage>>`
|
|
|
|
- This extension interacts with `<<VK_KHR_16bit_storage>>`
|
|
|
|
- This extension interacts with `<<VK_KHR_shader_float_controls>>`
|
|
|
|
*Contributors*::
|
|
|
|
- Alexander Galazin, Arm
|
|
|
|
- Jan-Harald Fredriksen, Arm
|
|
|
|
- Jeff Bolz, NVIDIA
|
|
|
|
- Graeme Leese, Broadcom
|
|
|
|
- Daniel Rakos, AMD
|
|
|
|
|
|
|
|
=== Description
|
|
|
|
|
|
|
|
The `VK_KHR_shader_float16_int8` extension allows use of 16-bit
|
|
|
|
floating-point types and 8-bit integer types in shaders for arithmetic
|
|
|
|
operations.
|
|
|
|
|
|
|
|
It introduces two new optional features pname:shaderFloat16 and
|
|
|
|
pname:shaderInt8 which directly map to the code:Float16 and the code:Int8
|
|
|
|
SPIR-V capabilities.
|
|
|
|
The `VK_KHR_shader_float16_int8` extension also specifies precision
|
|
|
|
requirements for half-precision floating-point SPIR-V operations.
|
|
|
|
This extension doesn't enable use of 8-bit integer types or 16-bit
|
|
|
|
floating-point types in any <<interfaces-iointerfaces, shader input and
|
|
|
|
output interfaces>> and therefore doesn't supersede the
|
|
|
|
`<<VK_KHR_8bit_storage>>` or `<<VK_KHR_16bit_storage>>` extensions.
|
|
|
|
|
|
|
|
=== New Enum Constants
|
|
|
|
|
|
|
|
* Extending elink:VkStructureType:
|
|
|
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR
|
|
|
|
|
|
|
|
=== New Structures
|
|
|
|
|
|
|
|
* slink:VkPhysicalDeviceFloat16Int8FeaturesKHR
|
|
|
|
|
|
|
|
=== New Functions
|
|
|
|
|
|
|
|
* None
|
|
|
|
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2018-03-07 (Alexander Galazin)
|
|
|
|
- Initial draft
|