mirror of https://github.com/PCSX2/pcsx2.git
GS/SW: Don't use fast reciprocal stq calculation, it's too inaccurate
This commit is contained in:
parent
c8047c1a61
commit
8887930fd5
|
@ -1173,10 +1173,8 @@ void GSDrawScanlineCodeGenerator::SampleTexture()
|
||||||
|
|
||||||
if (!m_sel.fst)
|
if (!m_sel.fst)
|
||||||
{
|
{
|
||||||
rcpps(xym0, _q);
|
MOVE_IF_64(divps, xym2, _s, _q);
|
||||||
|
MOVE_IF_64(divps, xym3, _t, _q);
|
||||||
MOVE_IF_64(mulps, xym2, _s, xym0);
|
|
||||||
MOVE_IF_64(mulps, xym3, _t, xym0);
|
|
||||||
|
|
||||||
cvttps2dq(xym2, xym2);
|
cvttps2dq(xym2, xym2);
|
||||||
cvttps2dq(xym3, xym3);
|
cvttps2dq(xym3, xym3);
|
||||||
|
@ -1576,10 +1574,8 @@ void GSDrawScanlineCodeGenerator::SampleTextureLOD()
|
||||||
|
|
||||||
if (!m_sel.fst)
|
if (!m_sel.fst)
|
||||||
{
|
{
|
||||||
rcpps(xym0, xym4);
|
MOVE_IF_64(divps, xym2, _s, xym4);
|
||||||
|
MOVE_IF_64(divps, xym3, _t, xym4);
|
||||||
MOVE_IF_64(mulps, xym2, _s, xym0);
|
|
||||||
MOVE_IF_64(mulps, xym3, _t, xym0);
|
|
||||||
|
|
||||||
cvttps2dq(xym2, xym2);
|
cvttps2dq(xym2, xym2);
|
||||||
cvttps2dq(xym3, xym3);
|
cvttps2dq(xym3, xym3);
|
||||||
|
|
|
@ -256,6 +256,7 @@ public:
|
||||||
AFORWARD(2, cvtss2sd, ARGS_XO)
|
AFORWARD(2, cvtss2sd, ARGS_XO)
|
||||||
SFORWARD(2, cvttps2dq, ARGS_XO)
|
SFORWARD(2, cvttps2dq, ARGS_XO)
|
||||||
SFORWARD(2, cvttsd2si, const AddressReg&, const Operand&);
|
SFORWARD(2, cvttsd2si, const AddressReg&, const Operand&);
|
||||||
|
AFORWARD(2, divps, ARGS_XO)
|
||||||
SFORWARD(3, extractps, const Operand&, const Xmm&, u8)
|
SFORWARD(3, extractps, const Operand&, const Xmm&, u8)
|
||||||
AFORWARD(2, maxps, ARGS_XO)
|
AFORWARD(2, maxps, ARGS_XO)
|
||||||
AFORWARD(2, minps, ARGS_XO)
|
AFORWARD(2, minps, ARGS_XO)
|
||||||
|
|
Loading…
Reference in New Issue