X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fgpulib%2Fgpu.h;h=96a81837009b3a6d25d4e953bd8f56cdf5fba45d;hp=ab1d23a7a598d4f76ffc83a43dc6789c6c82ef85;hb=HEAD;hpb=9ed80467762a5024f7ba04e9fb384faceca35c29 diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index ab1d23a7..96a81837 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -78,6 +78,8 @@ struct psx_gpu { uint32_t enhancement_enable:1; uint32_t enhancement_active:1; uint32_t enhancement_was_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 */ @@ -106,6 +108,8 @@ struct psx_gpu { } frameskip; 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); void *(*mmap)(unsigned int size); void (*munmap)(void *ptr, unsigned int size); void (*gpu_state_change)(int what); // psx_gpu_state @@ -115,7 +119,8 @@ 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; @@ -141,7 +146,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);