summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-04-13 03:39:57 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-04-13 03:39:59 +0200
commit05cf27083608bebd3ee4c38f2f948c8f2030f881 (patch)
treea3ce029d177cc1789ec17ecaf26e7baa0f4d53af
parentgl_shader_decompiler: Improve generated code in HMergeH* (diff)
downloadyuzu-05cf27083608bebd3ee4c38f2f948c8f2030f881.tar
yuzu-05cf27083608bebd3ee4c38f2f948c8f2030f881.tar.gz
yuzu-05cf27083608bebd3ee4c38f2f948c8f2030f881.tar.bz2
yuzu-05cf27083608bebd3ee4c38f2f948c8f2030f881.tar.lz
yuzu-05cf27083608bebd3ee4c38f2f948c8f2030f881.tar.xz
yuzu-05cf27083608bebd3ee4c38f2f948c8f2030f881.tar.zst
yuzu-05cf27083608bebd3ee4c38f2f948c8f2030f881.zip
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 59bbd1211..1f1f01313 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1821,15 +1821,13 @@ private:
Expression HMergeH0(Operation operation) {
const std::string dest = VisitOperand(operation, 0).AsUint();
const std::string src = VisitOperand(operation, 1).AsUint();
- return {fmt::format("vec2(unpackHalf2x16({}).x, unpackHalf2x16({}).y)", src, dest),
- Type::HalfFloat};
+ return {fmt::format("bitfieldInsert({}, {}, 0, 16)", dest, src), Type::Uint};
}
Expression HMergeH1(Operation operation) {
const std::string dest = VisitOperand(operation, 0).AsUint();
const std::string src = VisitOperand(operation, 1).AsUint();
- return {fmt::format("vec2(unpackHalf2x16({}).x, unpackHalf2x16({}).y)", dest, src),
- Type::HalfFloat};
+ return {fmt::format("bitfieldInsert({}, {}, 16, 16)", dest, src), Type::Uint};
}
Expression HPack2(Operation operation) {