summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-04-27 05:21:17 +0200
committerbunnei <bunneidev@gmail.com>2018-04-29 02:03:18 +0200
commita7b5ab4d9a275c6a16c5a7fdb2fd39827922eb61 (patch)
tree9400796903971ac3c113c87ad5502a3baaf9e40a
parentMerge pull request #414 from lioncash/cruft (diff)
downloadyuzu-a7b5ab4d9a275c6a16c5a7fdb2fd39827922eb61.tar
yuzu-a7b5ab4d9a275c6a16c5a7fdb2fd39827922eb61.tar.gz
yuzu-a7b5ab4d9a275c6a16c5a7fdb2fd39827922eb61.tar.bz2
yuzu-a7b5ab4d9a275c6a16c5a7fdb2fd39827922eb61.tar.lz
yuzu-a7b5ab4d9a275c6a16c5a7fdb2fd39827922eb61.tar.xz
yuzu-a7b5ab4d9a275c6a16c5a7fdb2fd39827922eb61.tar.zst
yuzu-a7b5ab4d9a275c6a16c5a7fdb2fd39827922eb61.zip
-rw-r--r--src/video_core/engines/shader_bytecode.h4
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp5
2 files changed, 7 insertions, 2 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index f3ca30cfa..fba9ab496 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -290,7 +290,7 @@ public:
MOV_C,
MOV_R,
MOV_IMM,
- MOV32I,
+ MOV32_IMM,
SHR_C,
SHR_R,
SHR_IMM,
@@ -445,7 +445,7 @@ private:
INST("0100110010011---", Id::MOV_C, Type::Arithmetic, "MOV_C"),
INST("0101110010011---", Id::MOV_R, Type::Arithmetic, "MOV_R"),
INST("0011100-10011---", Id::MOV_IMM, Type::Arithmetic, "MOV_IMM"),
- INST("000000010000----", Id::MOV32I, Type::Arithmetic, "MOV32I"),
+ INST("000000010000----", Id::MOV32_IMM, Type::Arithmetic, "MOV32_IMM"),
INST("0100110000101---", Id::SHR_C, Type::Arithmetic, "SHR_C"),
INST("0101110000101---", Id::SHR_R, Type::Arithmetic, "SHR_R"),
INST("0011100-00101---", Id::SHR_IMM, Type::Arithmetic, "SHR_IMM"),
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 8b235e252..647da4eb0 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -620,6 +620,11 @@ private:
}
switch (opcode->GetId()) {
+ case OpCode::Id::MOV32_IMM: {
+ // mov32i doesn't have abs or neg bits.
+ regs.SetRegisterToFloat(instr.gpr0, 0, GetImmediate32(instr), 1, 1);
+ break;
+ }
case OpCode::Id::FMUL_C:
case OpCode::Id::FMUL_R:
case OpCode::Id::FMUL_IMM: {