psx_gpu: convert to UAL, load everything from context
[pcsx_rearmed.git] / plugins / gpu_neon / psx_gpu / psx_gpu.h
index 7252dc2..1eaa99a 100644 (file)
@@ -57,7 +57,6 @@ typedef enum
 {
   RENDER_INTERLACE_ENABLED     = 0x1,
   RENDER_INTERLACE_ODD         = 0x2,
-  RENDER_DOUBLE_MODE           = 0x4,
 } render_mode_enum;
 
 typedef struct
@@ -181,16 +180,21 @@ typedef struct
   u16 clut_settings;
   u16 texture_settings;
 
+  u32 *reciprocal_table_ptr;
+
   // enhancement stuff
   u16 *enhancement_buf_ptr;
+  u16 *enhancement_current_buf_ptr;
+  u32 enhancement_x_threshold;
   s16 saved_viewport_start_x;
   s16 saved_viewport_start_y;
   s16 saved_viewport_end_x;
   s16 saved_viewport_end_y;
+  u8 enhancement_buf_by_x16[64];
 
   // Align up to 64 byte boundary to keep the upcoming buffers cache line
   // aligned, also make reachable with single immediate addition
-  u8 reserved_a[236];
+  u8 reserved_a[160];
 
   // 8KB
   block_struct blocks[MAX_BLOCKS_PER_ROW];
@@ -232,7 +236,7 @@ void render_triangle(psx_gpu_struct *psx_gpu, vertex_struct *vertexes,
 void render_sprite(psx_gpu_struct *psx_gpu, s32 x, s32 y, u32 u, u32 v,
  s32 width, s32 height, u32 flags, u32 color);
 void render_line(psx_gpu_struct *gpu, vertex_struct *vertexes, u32 flags,
- u32 color);
+ u32 color, int double_resolution);
 
 u32 texture_region_mask(s32 x1, s32 y1, s32 x2, s32 y2);