GS/SW: Don't use fast reciprocal stq calculation, it's too inaccurate

This commit is contained in:
refractionpcsx2 2024-05-14 10:53:57 +01:00
parent c8047c1a61
commit 8887930fd5
2 changed files with 5 additions and 8 deletions

View File

@ -1173,10 +1173,8 @@ void GSDrawScanlineCodeGenerator::SampleTexture()
if (!m_sel.fst)
{
rcpps(xym0, _q);
MOVE_IF_64(mulps, xym2, _s, xym0);
MOVE_IF_64(mulps, xym3, _t, xym0);
MOVE_IF_64(divps, xym2, _s, _q);
MOVE_IF_64(divps, xym3, _t, _q);
cvttps2dq(xym2, xym2);
cvttps2dq(xym3, xym3);
@ -1576,10 +1574,8 @@ void GSDrawScanlineCodeGenerator::SampleTextureLOD()
if (!m_sel.fst)
{
rcpps(xym0, xym4);
MOVE_IF_64(mulps, xym2, _s, xym0);
MOVE_IF_64(mulps, xym3, _t, xym0);
MOVE_IF_64(divps, xym2, _s, xym4);
MOVE_IF_64(divps, xym3, _t, xym4);
cvttps2dq(xym2, xym2);
cvttps2dq(xym3, xym3);

View File

@ -256,6 +256,7 @@ public:
AFORWARD(2, cvtss2sd, ARGS_XO)
SFORWARD(2, cvttps2dq, ARGS_XO)
SFORWARD(2, cvttsd2si, const AddressReg&, const Operand&);
AFORWARD(2, divps, ARGS_XO)
SFORWARD(3, extractps, const Operand&, const Xmm&, u8)
AFORWARD(2, maxps, ARGS_XO)
AFORWARD(2, minps, ARGS_XO)