diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index a1cef99ae..1bb09e61b 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp | |||
| @@ -493,10 +493,10 @@ public: | |||
| 493 | // pack. I couldn't test this on hardware but it shouldn't really matter since most | 493 | // pack. I couldn't test this on hardware but it shouldn't really matter since most |
| 494 | // of the time when a Mrg_* flag is used both components will be mirrored. That | 494 | // of the time when a Mrg_* flag is used both components will be mirrored. That |
| 495 | // being said, it deserves a test. | 495 | // being said, it deserves a test. |
| 496 | return "((" + GetRegisterAsInteger(reg, 0, false) + | 496 | return "uintBitsToFloat((" + GetRegisterAsInteger(reg, 0, false) + |
| 497 | " & 0xffff0000) | (packHalf2x16(" + value + ") & 0x0000ffff))"; | 497 | " & 0xffff0000) | (packHalf2x16(" + value + ") & 0x0000ffff))"; |
| 498 | case Tegra::Shader::HalfMerge::Mrg_H1: | 498 | case Tegra::Shader::HalfMerge::Mrg_H1: |
| 499 | return "((" + GetRegisterAsInteger(reg, 0, false) + | 499 | return "uintBitsToFloat((" + GetRegisterAsInteger(reg, 0, false) + |
| 500 | " & 0x0000ffff) | (packHalf2x16(" + value + ") & 0xffff0000))"; | 500 | " & 0x0000ffff) | (packHalf2x16(" + value + ") & 0xffff0000))"; |
| 501 | default: | 501 | default: |
| 502 | UNREACHABLE(); | 502 | UNREACHABLE(); |