mirror of https://github.com/PCSX2/pcsx2.git
microVU:
- Fixed a bug with P-reg's instances; this fixes problems/SPS in a lot of games such as (FFXII, NaN3, Digimon Rumble Arena 2, etc...) Note: All the games mentioned still have other problems (ffxii for example has missing geometry on characters, but looks a lot better than before :p). git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1215 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
1a53f45b2c
commit
4b5117c078
|
@ -261,14 +261,14 @@ microVUf(void) mVU_EEXP() {
|
|||
}
|
||||
|
||||
microVUt(void) mVU_sumXYZ() {
|
||||
// regd.x = x ^ 2 + y ^ 2 + z ^ 2
|
||||
// xmmPQ.x = x ^ 2 + y ^ 2 + z ^ 2
|
||||
if( cpucaps.hasStreamingSIMD4Extensions ) {
|
||||
SSE4_DPPS_XMM_to_XMM(xmmFs, xmmFs, 0x71);
|
||||
SSE_MOVSS_XMM_to_XMM(xmmPQ, xmmFs);
|
||||
}
|
||||
else {
|
||||
SSE_MULPS_XMM_to_XMM(xmmFs, xmmFs); // wzyx ^ 2
|
||||
SSE_MOVSS_XMM_to_XMM(xmmPQ, xmmFs);
|
||||
SSE_MOVSS_XMM_to_XMM(xmmPQ, xmmFs); // x ^ 2
|
||||
SSE2_PSHUFD_XMM_to_XMM(xmmFs, xmmFs, 0xe1); // wzyx -> wzxy
|
||||
SSE_ADDSS_XMM_to_XMM(xmmPQ, xmmFs); // x ^ 2 + y ^ 2
|
||||
SSE2_PSHUFD_XMM_to_XMM(xmmFs, xmmFs, 0xD2); // wzxy -> wxyz
|
||||
|
|
|
@ -222,7 +222,7 @@ declareAllVariables
|
|||
#define isSflag (mVUinfo & (1<<4))
|
||||
#define writeQ ((mVUinfo >> 5) & 1)
|
||||
#define readQ ((mVUinfo >> 6) & 1)
|
||||
#define writeP ((mVUinfo >> 7) & 1)
|
||||
#define writeP (((mVUinfo >> 7) + 1) & 1)
|
||||
#define readP ((mVUinfo >> 7) & 1) // same as writeP
|
||||
#define doFlags (mVUinfo & (3<<8))
|
||||
#define doMac (mVUinfo & (1<<8))
|
||||
|
|
Loading…
Reference in New Issue