X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fgpulib%2Fgpu.h;h=28f10fa4c5e7e9a92232efa3f2c208c23f23d42f;hb=5bbe183f3aa15f21613fcf58ead2016c9283a842;hp=f710d3f1969147242603ad120efc281f127f73e4;hpb=b99a48f2a1d41017af70fd7e8d040e0c988b36f1;p=pcsx_rearmed.git diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index f710d3f1..28f10fa4 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -34,6 +34,7 @@ extern "C" { #define BIT(x) (1 << (x)) #define PSX_GPU_STATUS_DHEIGHT BIT(19) +#define PSX_GPU_STATUS_PAL BIT(20) #define PSX_GPU_STATUS_RGB24 BIT(21) #define PSX_GPU_STATUS_INTERLACE BIT(22) #define PSX_GPU_STATUS_BLANKING BIT(23) @@ -53,6 +54,7 @@ struct psx_gpu { int x, y, w, h; int x1, x2; int y1, y2; + int src_x, src_y; } screen; struct { int x, y, w, h; @@ -69,6 +71,7 @@ struct psx_gpu { uint32_t enhancement_active:1; uint32_t downscale_enable:1; uint32_t downscale_active:1; + uint32_t dims_changed:1; uint32_t *frame_count; uint32_t *hcnt; /* hsync count */ struct { @@ -79,6 +82,9 @@ struct psx_gpu { } last_list; uint32_t last_vram_read_frame; uint32_t w_out_old, h_out_old, status_vo_old; + int screen_centering_type; // 0 - auto, 1 - game conrolled, 2 - manual + int screen_centering_x; + int screen_centering_y; } state; struct { int32_t set:3; /* -1 auto, 0 off, 1-3 fixed */ @@ -93,8 +99,7 @@ struct psx_gpu { uint32_t pending_fill[3]; } frameskip; uint32_t scratch_ex_regs[8]; // for threaded rendering - int useDithering:1; /* 0 - off , 1 - on */ - uint16_t *(*get_enhancement_bufer) + void *(*get_enhancement_bufer) (int *x, int *y, int *w, int *h, int *vram_h); uint16_t *(*get_downscale_buffer) (int *x, int *y, int *w, int *h, int *vram_h);