Parser: Implement extension GL_AMD_gpu_shader_half_float.
authorRex Xu <rex.xu@amd.com>
Fri, 29 Jul 2016 08:00:05 +0000 (16:00 +0800)
committerRex Xu <rex.xu@amd.com>
Fri, 30 Sep 2016 08:13:06 +0000 (16:13 +0800)
commitc9e3c3c941b4f56cd0abc6ee944b1b285ce593cb
tree8174912db70ee30f7a2a4fcd155ec4e27c6ff75b
parentb1672fa0deb1df380e0785d7dd4e9dc1ec026553
Parser: Implement extension GL_AMD_gpu_shader_half_float.

- Add built-in types: float16_t, f16vec, f16mat.
- Add support of half float constant: hf, HF.
- Extend built-in floating-point operators: +, -, *, /, ++, --, +=, -=,
  *=, /=, ==, !=, >=, <=, >, <.
- Add support of type conversions: float16_t -> XXX, XXX -> float16_t.
- Add new built-in functions.
35 files changed:
SPIRV/CMakeLists.txt
SPIRV/GLSL.ext.AMD.h
SPIRV/GlslangToSpv.cpp
SPIRV/SpvBuilder.cpp
SPIRV/SpvBuilder.h
SPIRV/bitutils.h [new file with mode: 0644]
SPIRV/hex_float.h [new file with mode: 0644]
Test/baseResults/spv.float16.frag.out [new file with mode: 0644]
Test/spv.float16.frag [new file with mode: 0644]
glslang/Include/BaseTypes.h
glslang/Include/Types.h
glslang/Include/intermediate.h
glslang/MachineIndependent/Constant.cpp
glslang/MachineIndependent/Initialize.cpp
glslang/MachineIndependent/Intermediate.cpp
glslang/MachineIndependent/ParseHelper.cpp
glslang/MachineIndependent/Scan.cpp
glslang/MachineIndependent/SymbolTable.cpp
glslang/MachineIndependent/Versions.cpp
glslang/MachineIndependent/Versions.h
glslang/MachineIndependent/gl_types.h
glslang/MachineIndependent/glslang.y
glslang/MachineIndependent/glslang_tab.cpp
glslang/MachineIndependent/glslang_tab.cpp.h
glslang/MachineIndependent/intermOut.cpp
glslang/MachineIndependent/linkValidate.cpp
glslang/MachineIndependent/parseVersions.h
glslang/MachineIndependent/preprocessor/Pp.cpp
glslang/MachineIndependent/preprocessor/PpScanner.cpp
glslang/MachineIndependent/preprocessor/PpTokens.cpp
glslang/MachineIndependent/preprocessor/PpTokens.h
glslang/MachineIndependent/reflection.cpp
gtests/CMakeLists.txt
gtests/HexFloat.cpp [new file with mode: 0644]
gtests/Spv.FromFile.cpp