summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/engines/shader_bytecode.h4
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp7
2 files changed, 8 insertions, 3 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 67501cf0a..d3095089c 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -564,6 +564,10 @@ union Instruction {
564 } fmul; 564 } fmul;
565 565
566 union { 566 union {
567 BitField<55, 1, u64> saturate;
568 } fmul32;
569
570 union {
567 BitField<48, 1, u64> is_signed; 571 BitField<48, 1, u64> is_signed;
568 } shift; 572 } shift;
569 573
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index b0eb879cc..767a16c25 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1459,9 +1459,10 @@ private:
1459 break; 1459 break;
1460 } 1460 }
1461 case OpCode::Id::FMUL32_IMM: { 1461 case OpCode::Id::FMUL32_IMM: {
1462 regs.SetRegisterToFloat( 1462 regs.SetRegisterToFloat(instr.gpr0, 0,
1463 instr.gpr0, 0, 1463 regs.GetRegisterAsFloat(instr.gpr8) + " * " +
1464 regs.GetRegisterAsFloat(instr.gpr8) + " * " + GetImmediate32(instr), 1, 1); 1464 GetImmediate32(instr),
1465 1, 1, instr.fmul32.saturate);
1465 break; 1466 break;
1466 } 1467 }
1467 case OpCode::Id::FADD32I: { 1468 case OpCode::Id::FADD32I: {