VK_KHR_shader_float16_int8
Other Extension Metadata
Last Modified Date
2018-03-07
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
- This extension provides API support for
GL_EXT_shader_explicit_arithmetic_types
IP Status
No known IP claims.
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 shaderFloat16
and
shaderInt8
which directly map to the Float16
and the 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 does not enable use of 8-bit integer types or 16-bit
floating-point types in any shader input and
output interfaces and therefore does not supersede the
VK_KHR_8bit_storage or VK_KHR_16bit_storage extensions.
Promotion to Vulkan 1.2
All functionality in this extension is included in core Vulkan 1.2, with the
KHR suffix omitted.
However, if Vulkan 1.2 is supported and this extension is not, both the
shaderFloat16
and shaderInt8
capabilities are optional.
The original type, enum, and command names are still available as aliases of
the core functionality.
New Structures
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
New Enum Constants
VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME
VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION
- Extending VkStructureType:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR
Version History
- Revision 1, 2018-03-07 (Alexander Galazin)
- Initial draft