diff options
| author | bunnei <bunneidev@gmail.com> | 2018-08-08 19:17:01 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-08 19:17:01 -0400 |
| commit | cf917a5e9342f53824b6fa70115b06378f10f517 (patch) | |
| tree | 2f735b11c82502d1dec5397899206cefb4f68626 /src/video_core/engines | |
| parent | 9ceceb212f1381cdae4f1df769e44216cd70dedb (diff) | |
| parent | e542356d0cc37b61621da8d2b376d32407ec8eff (diff) | |
Merge pull request #976 from bunnei/shader-imm
gl_shader_decompiler: Let OpenGL interpret floats.
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index c7e3fb4b1..0d33c5a5e 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -254,20 +254,15 @@ union Instruction { BitField<56, 1, u64> invert_b; } lop32i; - float GetImm20_19() const { - float result{}; + u32 GetImm20_19() const { u32 imm{static_cast<u32>(imm20_19)}; imm <<= 12; imm |= negate_imm ? 0x80000000 : 0; - std::memcpy(&result, &imm, sizeof(imm)); - return result; + return imm; } - float GetImm20_32() const { - float result{}; - s32 imm{static_cast<s32>(imm20_32)}; - std::memcpy(&result, &imm, sizeof(imm)); - return result; + u32 GetImm20_32() const { + return static_cast<u32>(imm20_32); } s32 GetSignedImm20_20() const { |
