Name Strings
SPV_AMD_gpu_shader_half_float
Contact
See Issues list in the Khronos SPIRV-Registry repository: https://github.com/KhronosGroup/SPIRV-Registry
Contributors
-
Dominik Witczak, AMD
-
Rex Xu, AMD
-
Qun Lin, AMD
-
Daniel Rakos, AMD
-
Donglin Wei, AMD
-
Graham Sellers, AMD
Notice
Copyright (c) 2016 The Khronos Group Inc. Copyright terms at http://www.khronos.org/registry/speccopyright.html
Status
Proposed.
Version
Modified Date: June 12, 2018 Revision: 3
Dependencies
This extension is written against Revision 1 of the version 1.1 of the SPIR-V Specification.
The extension is written against Revision 1 of the OpenGL extension AMD_gpu_shader_half_float.
Overview
This extension is written to provide the functionality of the AMD_gpu_shader_half_float, OpenGL Shading Language Specification extension, for SPIR-V.
This extension introduces 16-bit floating point support to extended instructions described in the GLSL.std.450 extended instruction set.
Extension Name
To enable SPV_AMD_gpu_shader_half_float extension in SPIR-V, use
OpExtension "SPV_AMD_gpu_shader_half_float"
Summary
This extension adds support for 16-bit floating-point component types for the following instructions described in the GLSL.std.450 extended instruction set:
InterpolateAtCentroid InterpolateAtSample InterpolateAtOffset
Modifications to the OpenGL Shading Language 4.50 Extended Instruction Set Specification, Version 1.00
Modify Section 2, Binary Form
InterpolateAtCentroid
(Replace the following sentence:)
The operand interpolant must be a pointer to a scalar or vector whose component type is 32-bit floating-point.
(with:)
The operand interpolant must be a pointer to a scalar or vector whose component type is 16- or
32-bit floating-point.
InterpolateAtSample
(Replace the following sentence:)
The operand interpolant must be a pointer to a scalar or vector whose component type is 32-bit floating-point.
(with:)
The operand interpolant must be a pointer to a scalar or vector whose component type is 16- or
32-bit floating-point.
InterpolateAtOffset
(Replace the following sentence:)
The operand interpolant must be a pointer to a scalar or vector whose component type is 32-bit floating-point.
(with:)
The operand interpolant must be a pointer to a scalar or vector whose component type is 16- or
32-bit floating-point.
(Replace the following sentence:)
The offset operand must be a vector of 2 components of 32-bit floating-point type.
(with:)
The offset operand must be a vector of 2 components of 16- or 32-bit floating-point type.
Validation Rules
None.
Issues
None
Revision History
Rev | Date | Author | Changes |
---|---|---|---|
3 |
June 12, 2018 |
Dominik Witczak |
Removenon-interpolate extended instruction modifications, as GLSL.std.450 spec now includes these changes. |
2 |
June 22, 2017 |
Dominik Witczak |
Removed incorrect language regarding accessing the new functionality. |
1 |
September 21, 2016 |
Dominik Witczak |
Initial revision based on AMD_gpu_shader_half_float. |