Should solve some off the graphical issues from r3274

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3282 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction 2010-06-23 13:28:07 +00:00
parent 46800c97a0
commit 9238bbdcc1
1 changed files with 31 additions and 25 deletions

View File

@ -356,7 +356,7 @@ __forceinline int GIFPath::ParseTag(GIF_PATH pathidx, const u8* pMem, u32 size,
incTag(16, 1); incTag(16, 1);
if(nloop > 0) if(nloop > 0 && TestOnly == false)
{ {
switch(pathidx) switch(pathidx)
{ {
@ -382,8 +382,11 @@ __forceinline int GIFPath::ParseTag(GIF_PATH pathidx, const u8* pMem, u32 size,
else else
{ {
if(TestOnly == false)
{
gifRegs->stat.APATH = pathidx + 1; gifRegs->stat.APATH = pathidx + 1;
if(gifRegs->stat.DIR == 0)gifRegs->stat.OPH = true; if(gifRegs->stat.DIR == 0)gifRegs->stat.OPH = true;
}
switch(tag.FLG) { switch(tag.FLG) {
case GIF_FLG_PACKED: case GIF_FLG_PACKED:
GIF_LOG("Packed Mode"); GIF_LOG("Packed Mode");
@ -451,6 +454,8 @@ __forceinline int GIFPath::ParseTag(GIF_PATH pathidx, const u8* pMem, u32 size,
size = (startSize - size); size = (startSize - size);
if(TestOnly == false)
{
if (tag.EOP && nloop <= 16) { if (tag.EOP && nloop <= 16) {
if(pathidx == 2 && nloop > 0) if(pathidx == 2 && nloop > 0)
{ {
@ -478,6 +483,7 @@ __forceinline int GIFPath::ParseTag(GIF_PATH pathidx, const u8* pMem, u32 size,
{ {
GSTransferStatus.PTH3 = PENDINGIMAGE_MODE; GSTransferStatus.PTH3 = PENDINGIMAGE_MODE;
} }
}
if (pathidx == GIF_PATH_3 && gif->chcr.STR) { //Make sure we are really doing a DMA and not using FIFO if (pathidx == GIF_PATH_3 && gif->chcr.STR) { //Make sure we are really doing a DMA and not using FIFO
//GIF_LOG("Path3 end EOP %x NLOOP %x Status %x", tag.EOP, nloop, GSTransferStatus.PTH3); //GIF_LOG("Path3 end EOP %x NLOOP %x Status %x", tag.EOP, nloop, GSTransferStatus.PTH3);