gl_shader_decompiler: Let OpenGL interpret floats.

- Accuracy is lost in translation to string, e.g. with NaN.
- Needed for Super Mario Odyssey.
This commit is contained in:
bunnei 2018-08-08 01:27:12 -04:00
parent 4fa3511a63
commit e542356d0c
2 changed files with 6 additions and 11 deletions

View file

@ -602,12 +602,12 @@ private:
/// Generates code representing a 19-bit immediate value
static std::string GetImmediate19(const Instruction& instr) {
return std::to_string(instr.alu.GetImm20_19());
return fmt::format("uintBitsToFloat({})", instr.alu.GetImm20_19());
}
/// Generates code representing a 32-bit immediate value
static std::string GetImmediate32(const Instruction& instr) {
return std::to_string(instr.alu.GetImm20_32());
return fmt::format("uintBitsToFloat({})", instr.alu.GetImm20_32());
}
/// Generates code representing a texture sampler.