X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfxvideo%2Fgpu.c;h=50d45d59660a380a79657ee1f43be44b288b8b3f;hp=200913ceab2fa15e00dd90a45ffa6e58b76621fd;hb=da1a56d5aadf1593c88fc69eda13ff8b90aa19e2;hpb=a96a5eb2d6a6720cc7bba6a30d1c25473f345a89 diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c index 200913ce..50d45d59 100644 --- a/plugins/dfxvideo/gpu.c +++ b/plugins/dfxvideo/gpu.c @@ -218,6 +218,8 @@ static void updateDisplay(void) // UPDATE DISPLAY bSkipNextFrame = FALSE; DoBufferSwap(); // -> swap } + + bDoVSyncUpdate=FALSE; // vsync done } //////////////////////////////////////////////////////////////////////// @@ -406,11 +408,14 @@ void CALLBACK GPUupdateLace(void) // VSYNC } 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 } //////////////////////////////////////////////////////////////////////// @@ -946,14 +951,14 @@ ENDVRAM: { 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) || @@ -986,7 +991,7 @@ ENDVRAM: void CALLBACK GPUwriteData(uint32_t gdata) { - PUTLE32(&gdata, gdata); + PUTLE32_(&gdata, gdata); GPUwriteDataMem(&gdata,1); }