diff options
| author | 2018-07-01 11:06:04 -0400 | |
|---|---|---|
| committer | 2018-07-01 11:06:04 -0400 | |
| commit | 066d6184d453fdcf6e9a4622646a514e0cbccc53 (patch) | |
| tree | 22d1d5a2f191416276b159b28bc1441946cba62d /src | |
| parent | Merge pull request #601 from Subv/rgba32_ui (diff) | |
| parent | GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" ... (diff) | |
| download | yuzu-066d6184d453fdcf6e9a4622646a514e0cbccc53.tar.gz yuzu-066d6184d453fdcf6e9a4622646a514e0cbccc53.tar.xz yuzu-066d6184d453fdcf6e9a4622646a514e0cbccc53.zip | |
Merge pull request #602 from Subv/mufu_subop
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 3 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 4 |
2 files changed, 1 insertions, 6 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 0527fc376..86fd64979 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h | |||
| @@ -166,7 +166,6 @@ enum class SubOp : u64 { | |||
| 166 | Lg2 = 0x3, | 166 | Lg2 = 0x3, |
| 167 | Rcp = 0x4, | 167 | Rcp = 0x4, |
| 168 | Rsq = 0x5, | 168 | Rsq = 0x5, |
| 169 | Min = 0x8, | ||
| 170 | }; | 169 | }; |
| 171 | 170 | ||
| 172 | enum class F2iRoundingOp : u64 { | 171 | enum class F2iRoundingOp : u64 { |
| @@ -210,7 +209,7 @@ union Instruction { | |||
| 210 | } pred; | 209 | } pred; |
| 211 | BitField<19, 1, u64> negate_pred; | 210 | BitField<19, 1, u64> negate_pred; |
| 212 | BitField<20, 8, Register> gpr20; | 211 | BitField<20, 8, Register> gpr20; |
| 213 | BitField<20, 7, SubOp> sub_op; | 212 | BitField<20, 4, SubOp> sub_op; |
| 214 | BitField<28, 8, Register> gpr28; | 213 | BitField<28, 8, Register> gpr28; |
| 215 | BitField<39, 8, Register> gpr39; | 214 | BitField<39, 8, Register> gpr39; |
| 216 | BitField<48, 16, u64> opcode; | 215 | 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 3ef79a5e7..bbccf0bfd 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp | |||
| @@ -917,10 +917,6 @@ private: | |||
| 917 | regs.SetRegisterToFloat(instr.gpr0, 0, "inversesqrt(" + op_a + ')', 1, 1, | 917 | regs.SetRegisterToFloat(instr.gpr0, 0, "inversesqrt(" + op_a + ')', 1, 1, |
| 918 | instr.alu.saturate_d); | 918 | instr.alu.saturate_d); |
| 919 | break; | 919 | break; |
| 920 | case SubOp::Min: | ||
| 921 | regs.SetRegisterToFloat(instr.gpr0, 0, "min(" + op_a + "," + op_b + ')', 1, 1, | ||
| 922 | instr.alu.saturate_d); | ||
| 923 | break; | ||
| 924 | default: | 920 | default: |
| 925 | NGLOG_CRITICAL(HW_GPU, "Unhandled MUFU sub op: {0:x}", | 921 | NGLOG_CRITICAL(HW_GPU, "Unhandled MUFU sub op: {0:x}", |
| 926 | static_cast<unsigned>(instr.sub_op.Value())); | 922 | static_cast<unsigned>(instr.sub_op.Value())); |