diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-12-23 02:26:35 -0300 |
|---|---|---|
| committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-01-15 17:54:52 -0300 |
| commit | dd91650aaf217196a2b1ced17df24bd74349843d (patch) | |
| tree | 537f6098b72cd7fa7ccccc0c44f294faf95e96e9 /src/video_core/shader/glsl_decompiler.cpp | |
| parent | d6f76307febaa2deb05112bb2c29ed667210ee2b (diff) | |
shader_decode: Implement HFMA2
Diffstat (limited to 'src/video_core/shader/glsl_decompiler.cpp')
| -rw-r--r-- | src/video_core/shader/glsl_decompiler.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/video_core/shader/glsl_decompiler.cpp b/src/video_core/shader/glsl_decompiler.cpp index abc9a556d..c364a43ce 100644 --- a/src/video_core/shader/glsl_decompiler.cpp +++ b/src/video_core/shader/glsl_decompiler.cpp @@ -762,9 +762,9 @@ private: return GenerateBinaryInfix(operation, "/", type, type, type); } - std::string FFma(Operation operation) { - return GenerateTernary(operation, "fma", Type::Float, Type::Float, Type::Float, - Type::Float); + template <Type type> + std::string Fma(Operation operation) { + return GenerateTernary(operation, "fma", type, type, type, type); } template <Type type> @@ -1231,7 +1231,7 @@ private: &Add<Type::Float>, &Mul<Type::Float>, &Div<Type::Float>, - &FFma, + &Fma<Type::Float>, &Negate<Type::Float>, &Absolute<Type::Float>, &FClamp, @@ -1289,6 +1289,7 @@ private: &Add<Type::HalfFloat>, &Mul<Type::HalfFloat>, + &Fma<Type::HalfFloat>, &Absolute<Type::HalfFloat>, &HNegate, &HMergeF32, |
