gpu_async: handle fb wrapping
authornotaz <notasas@gmail.com>
Tue, 30 Dec 2025 22:26:49 +0000 (00:26 +0200)
committernotaz <notasas@gmail.com>
Fri, 2 Jan 2026 00:43:50 +0000 (02:43 +0200)
plugins/gpulib/gpu_async.c

index 137066b..385d78d 100644 (file)
@@ -542,6 +542,10 @@ void gpu_async_sync_scanout(struct psx_gpu *gpu)
   i = agpu->pos_area;
   if (agpu->idle)
     /* unlikely but possible - do a full sync */;
+  else if (so_x1 > 1024 || so_y1 > 512) {
+    agpu_log(gpu, "agpu: wrap %d,%d %dx%d\n",
+      so_x0, so_y0, so_x1 - so_x0, so_y1 - so_y0);
+  }
   else if (agpu->draw_areas[(i+1) & AGPU_AREAS_MASK].pos > pos) {
     agpu_log(gpu, "agpu: oldest draw area %d > %d\n",
       agpu->draw_areas[(i+1) & AGPU_AREAS_MASK].pos, pos);