psx_gpu: select buffers differently
[pcsx_rearmed.git] / plugins / gpulib / vout_pl.c
index 5c74914..6e2764c 100644 (file)
@@ -77,8 +77,8 @@ static void blit(void)
       (x + 8) / stride * 1024 * 1024;
     x *= 2;
     y *= 2;
-    w = (w - 2) * 2;
-    h = (h * 2) - 1;
+    w = w * 2;
+    h = h * 2;
     stride *= 2;
     vram_mask = 1024 * 1024 - 1;
   }
@@ -130,10 +130,15 @@ void vout_update(void)
 
 void vout_blank(void)
 {
-  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();
   }
 }