From f33e406ff28724cd64a945d97b1f2df051fe4881 Mon Sep 17 00:00:00 2001 From: Subv Date: Sat, 30 Jun 2018 14:48:25 -0500 Subject: GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation. --- src/video_core/engines/shader_bytecode.h | 3 +-- src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) (limited to 'src/video_core') diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index cb4db0679..fcc0d32d9 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -165,7 +165,6 @@ enum class SubOp : u64 { Lg2 = 0x3, Rcp = 0x4, Rsq = 0x5, - Min = 0x8, }; enum class F2iRoundingOp : u64 { @@ -209,7 +208,7 @@ union Instruction { } pred; BitField<19, 1, u64> negate_pred; BitField<20, 8, Register> gpr20; - BitField<20, 7, SubOp> sub_op; + BitField<20, 4, SubOp> sub_op; BitField<28, 8, Register> gpr28; BitField<39, 8, Register> gpr39; BitField<48, 16, u64> opcode; diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 46eaad021..5a43d8e24 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -907,10 +907,6 @@ private: regs.SetRegisterToFloat(instr.gpr0, 0, "inversesqrt(" + op_a + ')', 1, 1, instr.alu.saturate_d); break; - case SubOp::Min: - regs.SetRegisterToFloat(instr.gpr0, 0, "min(" + op_a + "," + op_b + ')', 1, 1, - instr.alu.saturate_d); - break; default: NGLOG_CRITICAL(HW_GPU, "Unhandled MUFU sub op: {0:x}", static_cast(instr.sub_op.Value())); -- cgit v1.2.3