psx_gpu: start handling vram loads/moves for enhancement
[pcsx_rearmed.git] / plugins / gpulib / vout_pl.c
index 47c28f3..5c74914 100644 (file)
@@ -68,15 +68,17 @@ static void blit(void)
   uint8_t *dest;
 
   dest = (uint8_t *)screen_buf;
-  if (dest == NULL)
+  if (dest == NULL || w == 0 || stride == 0)
     return;
 
   if (gpu.state.enhancement_active) {
-    vram = gpu.enhancement_bufer;
+    // this layout is gpu_neon specific..
+    vram = gpu.enhancement_bufer +
+      (x + 8) / stride * 1024 * 1024;
     x *= 2;
     y *= 2;
-    w *= 2;
-    h *= 2;
+    w = (w - 2) * 2;
+    h = (h * 2) - 1;
     stride *= 2;
     vram_mask = 1024 * 1024 - 1;
   }