// Copyright 2014-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_KHR_shader_float16_int8.adoc[]

=== Other Extension Metadata

*Last Modified Date*::
    2018-03-07
*Interactions and External Dependencies*::
  - This extension interacts with `apiext:VK_KHR_8bit_storage`
  - This extension interacts with `apiext:VK_KHR_16bit_storage`
  - This extension interacts with `apiext:VK_KHR_shader_float_controls`
  - This extension provides API support for
    {GLSLregistry}/ext/GL_EXT_shader_explicit_arithmetic_types.txt[`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 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 does not enable use of 8-bit integer types or 16-bit
floating-point types in any <<interfaces-iointerfaces, shader input and
output interfaces>> and therefore does not supersede the
`apiext:VK_KHR_8bit_storage` or `apiext: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
code:shaderFloat16 and code:shaderInt8 capabilities are optional.
The original type, enum and command names are still available as aliases of
the core functionality.

include::{generated}/interfaces/VK_KHR_shader_float16_int8.adoc[]

=== Version History

  * Revision 1, 2018-03-07 (Alexander Galazin)
  ** Initial draft
