1// Copyright 2014-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5include::{generated}/meta/{refprefix}VK_KHR_shader_float16_int8.adoc[] 6 7=== Other Extension Metadata 8 9*Last Modified Date*:: 10 2018-03-07 11*Interactions and External Dependencies*:: 12 - This extension interacts with `apiext:VK_KHR_8bit_storage` 13 - This extension interacts with `apiext:VK_KHR_16bit_storage` 14 - This extension interacts with `apiext:VK_KHR_shader_float_controls` 15 - This extension provides API support for 16 {GLSLregistry}/ext/GL_EXT_shader_explicit_arithmetic_types.txt[`GL_EXT_shader_explicit_arithmetic_types`] 17*IP Status*:: 18 No known IP claims. 19*Contributors*:: 20 - Alexander Galazin, Arm 21 - Jan-Harald Fredriksen, Arm 22 - Jeff Bolz, NVIDIA 23 - Graeme Leese, Broadcom 24 - Daniel Rakos, AMD 25 26=== Description 27 28The `VK_KHR_shader_float16_int8` extension allows use of 16-bit 29floating-point types and 8-bit integer types in shaders for arithmetic 30operations. 31 32It introduces two new optional features pname:shaderFloat16 and 33pname:shaderInt8 which directly map to the code:Float16 and the code:Int8 34SPIR-V capabilities. 35The `VK_KHR_shader_float16_int8` extension also specifies precision 36requirements for half-precision floating-point SPIR-V operations. 37This extension does not enable use of 8-bit integer types or 16-bit 38floating-point types in any <<interfaces-iointerfaces, shader input and 39output interfaces>> and therefore does not supersede the 40`apiext:VK_KHR_8bit_storage` or `apiext:VK_KHR_16bit_storage` extensions. 41 42=== Promotion to Vulkan 1.2 43 44All functionality in this extension is included in core Vulkan 1.2, with the 45KHR suffix omitted. 46However, if Vulkan 1.2 is supported and this extension is not, both the 47code:shaderFloat16 and code:shaderInt8 capabilities are optional. 48The original type, enum and command names are still available as aliases of 49the core functionality. 50 51include::{generated}/interfaces/VK_KHR_shader_float16_int8.adoc[] 52 53=== Version History 54 55 * Revision 1, 2018-03-07 (Alexander Galazin) 56 ** Initial draft 57