diff options
Diffstat (limited to 'plugins/peopsxgl/gpu.c')
| -rwxr-xr-x | plugins/peopsxgl/gpu.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/plugins/peopsxgl/gpu.c b/plugins/peopsxgl/gpu.c index 65e074d5..e38ac48b 100755 --- a/plugins/peopsxgl/gpu.c +++ b/plugins/peopsxgl/gpu.c @@ -1314,8 +1314,11 @@ void SetScanLines(void) } glLoadIdentity(); - glOrtho(0,PSXDisplay.DisplayMode.x, - PSXDisplay.DisplayMode.y, 0, -1, 1); + //glOrtho(0,PSXDisplay.DisplayMode.x, + // PSXDisplay.DisplayMode.y, 0, -1, 1); + + PGXP_SetMatrix(0, PSXDisplay.DisplayMode.x, PSXDisplay.DisplayMode.y, 0, -1, 1); + if(bKeepRatio) glViewport(rRatioRect.left, @@ -1889,8 +1892,12 @@ void updateDisplayIfChanged(void) else // some res change? { glLoadIdentity(); - glOrtho(0,PSXDisplay.DisplayModeNew.x, // -> new psx resolution - PSXDisplay.DisplayModeNew.y, 0, -1, 1); + //glOrtho(0,PSXDisplay.DisplayModeNew.x, // -> new psx resolution + // PSXDisplay.DisplayModeNew.y, 0, -1, 1); + + PGXP_SetMatrix(0, PSXDisplay.DisplayModeNew.x, PSXDisplay.DisplayModeNew.y, 0, -1, 1); + + if(bKeepRatio) SetAspectRatio(); } @@ -2985,6 +2992,11 @@ ENDVRAM: if(gpuDataP == gpuDataC) { gpuDataC=gpuDataP=0; + for (unsigned int i = 0; i < 4; i++) //iCB: remove stale vertex data + { + vertex[i].x = vertex[i].y = 0.f; + vertex[i].z = 1.f; + } primFunc[gpuCommand]((unsigned char *)gpuDataM); if(dwEmuFixes&0x0001 || dwActFixes&0x20000) // hack for emulating "gpu busy" in some games |
