bSkipNextFrame = FALSE;
DoBufferSwap(); // -> swap
}
+
+ bDoVSyncUpdate=FALSE; // vsync done
}
////////////////////////////////////////////////////////////////////////
}
else
{
- if(bDoVSyncUpdate && !UseFrameSkip) // some primitives drawn?
- updateDisplay(); // -> update display
+ if((bDoVSyncUpdate && !UseFrameSkip) // some primitives drawn?
+ || bDoVSyncUpdate >= 8) // not syned for a while
+ updateDisplay(); // -> update display
}
}
- bDoVSyncUpdate=FALSE; // vsync done
+
+ if(bDoVSyncUpdate) // if display not synced
+ bDoVSyncUpdate++; // count how many times
}
////////////////////////////////////////////////////////////////////////
{
gpuDataC = primTableCX[command];
gpuCommand = command;
- PUTLE32(&gpuDataM[0], gdata);
+ PUTLE32_(&gpuDataM[0], gdata);
gpuDataP = 1;
}
else continue;
}
else
{
- PUTLE32(&gpuDataM[gpuDataP], gdata);
+ PUTLE32_(&gpuDataM[gpuDataP], gdata);
if(gpuDataC>128)
{
if((gpuDataC==254 && gpuDataP>=3) ||
void CALLBACK GPUwriteData(uint32_t gdata)
{
- PUTLE32(&gdata, gdata);
+ PUTLE32_(&gdata, gdata);
GPUwriteDataMem(&gdata,1);
}