summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-07-04 15:24:04 -0500
committerSubv <subv2112@gmail.com>2018-07-04 15:43:21 -0500
commitd800a02b4b3a301ee221d831f1832f1d15d96bf1 (patch)
treea97e219e6c75615b821234764aa9e30302cc35b3 /src
parent81a44d38ee0a9df2cc89e363c43b38548a1fcfe7 (diff)
GPU: Implemented the F2F 'round' rounding mode.
It's implemented via the GLSL 'roundEven()' function.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index ec9956edb..f9a90a1a4 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1213,6 +1213,9 @@ private:
switch (instr.conversion.f2f.rounding) {
case Tegra::Shader::F2fRoundingOp::None:
break;
+ case Tegra::Shader::F2fRoundingOp::Round:
+ op_a = "roundEven(" + op_a + ')';
+ break;
case Tegra::Shader::F2fRoundingOp::Floor:
op_a = "floor(" + op_a + ')';
break;