diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 6 |
1 files changed, 4 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 1f1f01313..59bbd1211 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp | |||
| @@ -1821,13 +1821,15 @@ private: | |||
| 1821 | Expression HMergeH0(Operation operation) { | 1821 | Expression HMergeH0(Operation operation) { |
| 1822 | const std::string dest = VisitOperand(operation, 0).AsUint(); | 1822 | const std::string dest = VisitOperand(operation, 0).AsUint(); |
| 1823 | const std::string src = VisitOperand(operation, 1).AsUint(); | 1823 | const std::string src = VisitOperand(operation, 1).AsUint(); |
| 1824 | return {fmt::format("bitfieldInsert({}, {}, 0, 16)", dest, src), Type::Uint}; | 1824 | return {fmt::format("vec2(unpackHalf2x16({}).x, unpackHalf2x16({}).y)", src, dest), |
| 1825 | Type::HalfFloat}; | ||
| 1825 | } | 1826 | } |
| 1826 | 1827 | ||
| 1827 | Expression HMergeH1(Operation operation) { | 1828 | Expression HMergeH1(Operation operation) { |
| 1828 | const std::string dest = VisitOperand(operation, 0).AsUint(); | 1829 | const std::string dest = VisitOperand(operation, 0).AsUint(); |
| 1829 | const std::string src = VisitOperand(operation, 1).AsUint(); | 1830 | const std::string src = VisitOperand(operation, 1).AsUint(); |
| 1830 | return {fmt::format("bitfieldInsert({}, {}, 16, 16)", dest, src), Type::Uint}; | 1831 | return {fmt::format("vec2(unpackHalf2x16({}).x, unpackHalf2x16({}).y)", dest, src), |
| 1832 | Type::HalfFloat}; | ||
| 1831 | } | 1833 | } |
| 1832 | 1834 | ||
| 1833 | Expression HPack2(Operation operation) { | 1835 | Expression HPack2(Operation operation) { |