X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fgpu_neon%2Fpsx_gpu%2Fpsx_gpu.h;h=53a87177095a1ee486fabb01431e1322f81c1d07;hp=49425ceba13c1d64b3263dec7d11c0e0efb5660a;hb=d81b8e972678928ffece2d38213de8048f5e872d;hpb=e8c0e0bb6288aeeb2a4cb6709608340836778886 diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu.h b/plugins/gpu_neon/psx_gpu/psx_gpu.h index 49425ceb..53a87177 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu.h +++ b/plugins/gpu_neon/psx_gpu/psx_gpu.h @@ -53,6 +53,12 @@ typedef enum RENDER_STATE_MASK_EVALUATE = 0x20, } render_state_enum; +typedef enum +{ + RENDER_INTERLACE_ENABLED = 0x1, + RENDER_INTERLACE_ODD = 0x2 +} render_interlace_enum; + typedef struct { u16 left_x; @@ -130,12 +136,11 @@ typedef struct u32 dirty_textures_8bpp_alternate_mask; u32 triangle_color; - u32 primitive_color; - u32 dither_table[4]; struct render_block_handler_struct *render_block_handler; void *texture_page_ptr; + void *texture_page_base; u16 *clut_ptr; u16 *vram_ptr; @@ -173,10 +178,11 @@ typedef struct u8 texture_window_y; u8 primitive_type; + u8 interlace_mode; // Align up to 64 byte boundary to keep the upcoming buffers cache line // aligned - u8 reserved_a[1]; + //u8 reserved_a[0]; // 8KB block_struct blocks[MAX_BLOCKS_PER_ROW]; @@ -189,13 +195,6 @@ typedef struct u8 texture_4bpp_cache[32][256 * 256]; u8 texture_8bpp_even_cache[16][256 * 256]; u8 texture_8bpp_odd_cache[16][256 * 256]; - - u32 pixel_count_mode; - u32 pixel_compare_mode; - - u8 *vram_pixel_counts_a; - u8 *vram_pixel_counts_b; - u16 *compare_vram; } psx_gpu_struct; typedef struct __attribute__((aligned(16))) @@ -232,7 +231,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);