diff options
author | notaz | 2012-10-22 01:42:56 +0300 |
---|---|---|
committer | notaz | 2012-10-24 01:10:16 +0300 |
commit | 7956599fa5f666016f71870d9889748c97839041 (patch) | |
tree | c2a354d15c23f335a0091665488a14f45071ddb0 /plugins/gpulib | |
parent | c111e8f8fb8a0d3bd7b05c743a48d942e107cc79 (diff) | |
download | pcsx_rearmed-7956599fa5f666016f71870d9889748c97839041.tar.gz pcsx_rearmed-7956599fa5f666016f71870d9889748c97839041.tar.bz2 pcsx_rearmed-7956599fa5f666016f71870d9889748c97839041.zip |
psx_gpu: select buffers differently
this handles weird drawing areas better
Diffstat (limited to 'plugins/gpulib')
-rw-r--r-- | plugins/gpulib/vout_pl.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/plugins/gpulib/vout_pl.c b/plugins/gpulib/vout_pl.c index 2116422..6e2764c 100644 --- a/plugins/gpulib/vout_pl.c +++ b/plugins/gpulib/vout_pl.c @@ -130,11 +130,15 @@ void vout_update(void) void vout_blank(void) { - gpu.state.enhancement_active = 0; - check_mode_change(); if (cbs->pl_vout_raw_flip == NULL) { + int w = gpu.screen.hres; + int h = gpu.screen.h; int bytespp = gpu.status.rgb24 ? 3 : 2; - memset(screen_buf, 0, gpu.screen.hres * gpu.screen.h * bytespp); + if (gpu.state.enhancement_active) { + w *= 2; + h *= 2; + } + memset(screen_buf, 0, w * h * bytespp); screen_buf = cbs->pl_vout_flip(); } } |