Browse Source

Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"

This reverts commit ff90ce2ed6.

Apparently the first approach using floats instead of bitfieldInert
worked better for Fire Emblem: Three Houses. Reverting to get that
behavior back.
nce_cpp
ReinUsesLisp 6 years ago
parent
commit
f5a23c9bb3
  1. 6
      src/video_core/renderer_opengl/gl_shader_decompiler.cpp

6
src/video_core/renderer_opengl/gl_shader_decompiler.cpp

@ -1821,13 +1821,15 @@ private:
Expression HMergeH0(Operation operation) {
const std::string dest = VisitOperand(operation, 0).AsUint();
const std::string src = VisitOperand(operation, 1).AsUint();
return {fmt::format("bitfieldInsert({}, {}, 0, 16)", dest, src), Type::Uint};
return {fmt::format("vec2(unpackHalf2x16({}).x, unpackHalf2x16({}).y)", src, dest),
Type::HalfFloat};
}
Expression HMergeH1(Operation operation) {
const std::string dest = VisitOperand(operation, 0).AsUint();
const std::string src = VisitOperand(operation, 1).AsUint();
return {fmt::format("bitfieldInsert({}, {}, 16, 16)", dest, src), Type::Uint};
return {fmt::format("vec2(unpackHalf2x16({}).x, unpackHalf2x16({}).y)", dest, src),
Type::HalfFloat};
}
Expression HPack2(Operation operation) {

Loading…
Cancel
Save