VK_KHR_shader_float16_int8(3)

# VK_KHR_shader_float16_int8(3) Manual Page

## Name

VK_KHR_shader_float16_int8 - device extension

Loading… please wait.

## Registered Extension Number

83

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

## Deprecation state

- Promoted to Vulkan 1.2

## Contact

- Alexander Galazin alegal-arm

## Other Extension Metadata

Last Modified Date

  2018-03-07

Interactions and External Dependencies

  - Promoted to Vulkan 1.2 Core

  - 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:

  - VkPhysicalDeviceFloat16Int8FeaturesKHR

  - VkPhysicalDeviceShaderFloat16Int8FeaturesKHR

## 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

## See Also

VkPhysicalDeviceFloat16Int8FeaturesKHR, VkPhysicalDeviceShaderFloat16Int8FeaturesKHR

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0