X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fgpu_neon%2Fpsx_gpu%2Fpsx_gpu.h;h=7ed56220ed93413172e2289729a22343eca0cbc2;hb=c1817bd9249ee616cf9545a57136d6dd3669ce34;hp=4605c39f042cec9fea858c68c2525910747f8d7b;hpb=69b09c0d33efd71ebe4886cfae41c162803683d5;p=pcsx_rearmed.git diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu.h b/plugins/gpu_neon/psx_gpu/psx_gpu.h index 4605c39f..7ed56220 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu.h +++ b/plugins/gpu_neon/psx_gpu/psx_gpu.h @@ -122,7 +122,7 @@ typedef struct vec_4x32u g_block_span; vec_4x32u b_block_span; - // 72 bytes + // 76 bytes u32 b; u32 b_dy; @@ -143,6 +143,7 @@ typedef struct void *texture_page_base; u16 *clut_ptr; u16 *vram_ptr; + u16 *vram_out_ptr; // 26 bytes u16 render_state_base; @@ -180,9 +181,16 @@ typedef struct u8 primitive_type; u8 interlace_mode; + // enhancement stuff + u16 *enhancement_buf_ptr; + s16 saved_viewport_start_x; + s16 saved_viewport_start_y; + s16 saved_viewport_end_x; + s16 saved_viewport_end_y; + // Align up to 64 byte boundary to keep the upcoming buffers cache line - // aligned - //u8 reserved_a[0]; + // aligned, also make reachable with single immediate addition + u8 reserved_a[240]; // 8KB block_struct blocks[MAX_BLOCKS_PER_ROW]; @@ -231,7 +239,7 @@ u32 texture_region_mask(s32 x1, s32 y1, s32 x2, s32 y2); void flush_render_block_buffer(psx_gpu_struct *psx_gpu); void initialize_psx_gpu(psx_gpu_struct *psx_gpu, u16 *vram); -void gpu_parse(psx_gpu_struct *psx_gpu, u32 *list, u32 size); +u32 gpu_parse(psx_gpu_struct *psx_gpu, u32 *list, u32 size, u32 *last_command); void triangle_benchmark(psx_gpu_struct *psx_gpu);