diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-02-23 04:46:39 -0300 |
|---|---|---|
| committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:22 -0400 |
| commit | 9d6a98d950da39dd2a7ca5ad25525de4fb825415 (patch) | |
| tree | ed7374adf60d5330f78d48f0ccea65fd65702fac /src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_multiply.cpp | |
| parent | e44752ddc8804961eb84f8c225bb36d5b4c77bc1 (diff) | |
shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCC
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_multiply.cpp')
| -rw-r--r-- | src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_multiply.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_multiply.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_multiply.cpp index edf2cadae..72f0a18ae 100644 --- a/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_multiply.cpp +++ b/src/shader_recompiler/frontend/maxwell/translate/impl/floating_point_multiply.cpp @@ -94,6 +94,7 @@ void FMUL(TranslatorVisitor& v, u64 insn, const IR::F32& src_b) { BitField<48, 1, u64> neg_b; BitField<50, 1, u64> sat; } const fmul{insn}; + FMUL(v, insn, src_b, fmul.fmz, fmul.fp_rounding, fmul.scale, fmul.sat != 0, fmul.cc != 0, fmul.neg_b != 0); } @@ -118,6 +119,7 @@ void TranslatorVisitor::FMUL32I(u64 insn) { BitField<53, 2, FmzMode> fmz; BitField<55, 1, u64> sat; } const fmul32i{insn}; + FMUL(*this, insn, GetFloatImm32(insn), fmul32i.fmz, FpRounding::RN, Scale::None, fmul32i.sat != 0, fmul32i.cc != 0, false); } |
