summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/glsl_decompiler.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2018-12-23 06:26:35 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-01-15 21:54:52 +0100
commitdd91650aaf217196a2b1ced17df24bd74349843d (patch)
tree537f6098b72cd7fa7ccccc0c44f294faf95e96e9 /src/video_core/shader/glsl_decompiler.cpp
parentglsl_decompiler: Remove HNegate inlining (diff)
downloadyuzu-dd91650aaf217196a2b1ced17df24bd74349843d.tar
yuzu-dd91650aaf217196a2b1ced17df24bd74349843d.tar.gz
yuzu-dd91650aaf217196a2b1ced17df24bd74349843d.tar.bz2
yuzu-dd91650aaf217196a2b1ced17df24bd74349843d.tar.lz
yuzu-dd91650aaf217196a2b1ced17df24bd74349843d.tar.xz
yuzu-dd91650aaf217196a2b1ced17df24bd74349843d.tar.zst
yuzu-dd91650aaf217196a2b1ced17df24bd74349843d.zip
Diffstat (limited to 'src/video_core/shader/glsl_decompiler.cpp')
-rw-r--r--src/video_core/shader/glsl_decompiler.cpp9
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,