aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfxvideo/gpu.c
diff options
context:
space:
mode:
authornotaz2011-03-01 23:24:30 +0200
committernotaz2011-03-01 23:25:44 +0200
commit2588a9387f60ec46ec9c7a1f7ebc480276e5cf1e (patch)
treebfde06af073bdc58c0df2f110837c6e1dcea8bf0 /plugins/dfxvideo/gpu.c
parentdc990066a301c231e5982a346f4809b4e0247a51 (diff)
downloadpcsx_rearmed-2588a9387f60ec46ec9c7a1f7ebc480276e5cf1e.tar.gz
pcsx_rearmed-2588a9387f60ec46ec9c7a1f7ebc480276e5cf1e.tar.bz2
pcsx_rearmed-2588a9387f60ec46ec9c7a1f7ebc480276e5cf1e.zip
dfxvideo: use bit31 handling from pcsxr-svn
Diffstat (limited to 'plugins/dfxvideo/gpu.c')
-rw-r--r--plugins/dfxvideo/gpu.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c
index 50d45d5..8e36f8e 100644
--- a/plugins/dfxvideo/gpu.c
+++ b/plugins/dfxvideo/gpu.c
@@ -59,6 +59,7 @@ long lSelectedSlot=0;
BOOL bDoLazyUpdate=FALSE;
uint32_t lGPUInfoVals[16];
static int iFakePrimBusy=0;
+static uint32_t vBlank=0;
////////////////////////////////////////////////////////////////////////
// some misc external display funcs
@@ -384,8 +385,8 @@ static void updateDisplayIfChanged(void) // UPDATE DISPLAY
void CALLBACK GPUupdateLace(void) // VSYNC
{
- if(!(dwActFixes&1))
- lGPUstatusRet^=0x80000000; // odd/even bit
+ //if(!(dwActFixes&1))
+ // lGPUstatusRet^=0x80000000; // odd/even bit
//pcsx-rearmed: removed, this is handled by core
//if(!(dwActFixes&32)) // std fps limitation?
@@ -393,6 +394,8 @@ void CALLBACK GPUupdateLace(void) // VSYNC
if(PSXDisplay.Interlaced) // interlaced mode?
{
+ lGPUstatusRet^=0x80000000; // odd/even bit?
+
if(bDoVSyncUpdate && PSXDisplay.DisplayMode.x>0 && PSXDisplay.DisplayMode.y>0)
{
updateDisplay();
@@ -450,7 +453,7 @@ uint32_t CALLBACK GPUreadStatus(void) // READ STATUS
GPUIsReadyForCommands;
}
}
- return lGPUstatusRet;
+ return lGPUstatusRet | vBlank;
}
////////////////////////////////////////////////////////////////////////
@@ -1103,3 +1106,9 @@ long CALLBACK GPUfreeze(uint32_t ulGetFreezeData,GPUFreeze_t * pF)
return 1;
}
+
+void CALLBACK GPUvBlank(int val)
+{
+ vBlank=val?0x80000000:0;
+}
+