gpu_neon: frameskip: skip blits until flipped
[pcsx_rearmed.git] / plugins / gpu_neon / gpu.h
index 8813a44..cc202c5 100644 (file)
@@ -44,6 +44,8 @@ struct psx_gpu {
       uint32_t lcf:1;       // 31
     };
   } status;
+  uint32_t gp0;
+  uint32_t ex_regs[8];
   struct {
     int hres, vres;
     int x, y, w, h;
@@ -57,6 +59,24 @@ struct psx_gpu {
   int cmd_len;
   const uint32_t *lcf_hc;
   uint32_t zero;
+  struct {
+    uint32_t fb_dirty:1;
+    uint32_t frame_count;
+    uint32_t *hcnt;
+    struct {
+      uint32_t addr;
+      uint32_t words;
+      uint32_t frame;
+      uint32_t hcnt;
+    } last_list;
+  } state;
+  struct {
+    uint32_t enabled:1;
+    uint32_t active:1;
+    uint32_t frame_ready:1;
+    uint32_t skipped_blits:5;
+    const int *advice;
+  } frameskip;
 };
 
 extern struct psx_gpu gpu;
@@ -65,5 +85,9 @@ extern const unsigned char cmd_lengths[256];
 
 void do_cmd_list(uint32_t *list, int count);
 
+int  renderer_init(void);
+void renderer_invalidate_caches(int x, int y, int w, int h);
+void renderer_flush_queues(void);
+
 int vout_init(void);
 int vout_finish(void);