X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fdfxvideo%2Fgpu.c;h=b5fdd975bfb39e1ed807dfbcb5248795b87750e8;hb=a80ae4a0353fce94df700ec84222d3c56c3d813a;hp=0d105f890fb40231504097ab1f243f216a991cae;hpb=b03e0caf5e153551cb71065ffaa4361b7f7e492b;p=pcsx_rearmed.git diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c index 0d105f89..b5fdd975 100644 --- a/plugins/dfxvideo/gpu.c +++ b/plugins/dfxvideo/gpu.c @@ -233,7 +233,7 @@ static void decideSkip(void) if(dwActFixes&0xa0) // -> pc fps calculation fix/old skipping fix { - int skip = (skip_advice && *skip_advice) || fps_skip < fFrameRateHz; + int skip = (skip_advice && *skip_advice) || UseFrameSkip == 1 || fps_skip < fFrameRateHz; if(skip && !bSkipNextFrame) // -> skip max one in a row {bSkipNextFrame = TRUE; fps_skip=fFrameRateHz;} else bSkipNextFrame = FALSE; @@ -649,7 +649,7 @@ void CALLBACK GPUwriteStatus(uint32_t gdata) // WRITE STATUS } lGPUstatusRet|=GPUSTATUS_INTERLACED; } - else lGPUstatusRet&=~GPUSTATUS_INTERLACED; + else lGPUstatusRet&=~(GPUSTATUS_INTERLACED|0x80000000); if (PSXDisplay.PAL) lGPUstatusRet|=GPUSTATUS_PAL; @@ -1118,6 +1118,7 @@ long CALLBACK GPUfreeze(uint32_t ulGetFreezeData,GPUFreeze_t * pF) // RESET TEXTURE STORE HERE, IF YOU USE SOMETHING LIKE THAT + PreviousPSXDisplay.Height = 0; GPUwriteStatus(ulStatusControl[0]); GPUwriteStatus(ulStatusControl[1]); GPUwriteStatus(ulStatusControl[2]); @@ -1139,6 +1140,8 @@ void CALLBACK GPUvBlank(int val) // rearmed thing #include "../../frontend/plugin_lib.h" +const struct rearmed_cbs *rcbs; + void GPUrearmedCallbacks(const struct rearmed_cbs *cbs) { // sync config @@ -1150,4 +1153,5 @@ void GPUrearmedCallbacks(const struct rearmed_cbs *cbs) skip_advice = &cbs->fskip_advice; fps_skip = 100.0f; + rcbs = cbs; }