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.
Promotion to Vulkan 1.4
If Vulkan 1.4 is supported, support for the shaderInt8 capability is
required.
New Structures
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
New Enum Constants
VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAMEVK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION- Extending VkStructureType:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHRVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR
Version History
- Revision 1, 2018-03-07 (Alexander Galazin)
- Initial draft