X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fgpulib%2Fgpu.h;h=7625c412216e45653a89008033ffcc48c3b76435;hb=7f8ea94ebceb5dd775c5e644f3ed4a2f0d110860;hp=fa45825eef324cd17bdcee80de7bfd0b7c6a7b9c;hpb=7a20a6d03b86989f57b4ef2bb49dc3b4a36f41f1;p=pcsx_rearmed.git diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index fa45825e..7625c412 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -91,7 +91,8 @@ 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 + short screen_centering_type; + short screen_centering_type_default; int screen_centering_x; int screen_centering_y; } state; @@ -114,13 +115,15 @@ struct psx_gpu { (int *x, int *y, int *w, int *h, int *vram_h); void *(*mmap)(unsigned int size); void (*munmap)(void *ptr, unsigned int size); + void (*gpu_state_change)(int what); // psx_gpu_state }; extern struct psx_gpu gpu; extern const unsigned char cmd_lengths[256]; -int do_cmd_list(uint32_t *list, int count, int *last_cmd); +int do_cmd_list(uint32_t *list, int count, + int *cycles_sum, int *cycles_last, int *last_cmd); struct rearmed_cbs; @@ -134,7 +137,7 @@ void renderer_set_config(const struct rearmed_cbs *config); void renderer_notify_res_change(void); void renderer_notify_update_lace(int updated); void renderer_sync(void); -void renderer_notify_scanout_x_change(int x, int w); +void renderer_notify_scanout_change(int x, int y); int vout_init(void); int vout_finish(void); @@ -148,7 +151,8 @@ struct GPUFreeze; long GPUinit(void); long GPUshutdown(void); void GPUwriteDataMem(uint32_t *mem, int count); -long GPUdmaChain(uint32_t *rambase, uint32_t addr, uint32_t *progress_addr); +long GPUdmaChain(uint32_t *rambase, uint32_t addr, + uint32_t *progress_addr, int32_t *cycles_last_cmd); void GPUwriteData(uint32_t data); void GPUreadDataMem(uint32_t *mem, int count); uint32_t GPUreadData(void); @@ -159,6 +163,7 @@ void GPUupdateLace(void); long GPUopen(unsigned long *disp, char *cap, char *cfg); long GPUclose(void); void GPUvBlank(int is_vblank, int lcf); +void GPUgetScreenInfo(int *y, int *base_hres); void GPUrearmedCallbacks(const struct rearmed_cbs *cbs_); #ifdef __cplusplus