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