From 0b02eb7712f1272fa7f38b0af41968b53af3b5a8 Mon Sep 17 00:00:00 2001 From: notaz Date: Mon, 13 Aug 2012 00:02:23 +0300 Subject: add support for software-enhanced rendering --- plugins/gpulib/gpu.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'plugins/gpulib/gpu.h') diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index 1cbe38c..f514395 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -67,6 +67,9 @@ struct psx_gpu { uint32_t old_interlace:1; uint32_t allow_interlace:2; uint32_t blanked:1; + uint32_t enhancement_available:1; + uint32_t enhancement_enable:1; + uint32_t enhancement_active:1; uint32_t *frame_count; uint32_t *hcnt; /* hsync count */ struct { @@ -87,6 +90,7 @@ struct psx_gpu { uint32_t last_flip_frame; uint32_t pending_fill[3]; } frameskip; + void *enhancement_bufer; }; extern struct psx_gpu gpu; -- cgit v1.2.3 From e929dec505f8d3692248fe0d42c84a37c994ad39 Mon Sep 17 00:00:00 2001 From: notaz Date: Sat, 18 Aug 2012 02:37:49 +0300 Subject: psx_gpu: switch to 1024 width again. --- plugins/gpulib/gpu.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'plugins/gpulib/gpu.h') diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index f514395..5ad2a46 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -67,7 +67,6 @@ struct psx_gpu { uint32_t old_interlace:1; uint32_t allow_interlace:2; uint32_t blanked:1; - uint32_t enhancement_available:1; uint32_t enhancement_enable:1; uint32_t enhancement_active:1; uint32_t *frame_count; @@ -90,7 +89,7 @@ struct psx_gpu { uint32_t last_flip_frame; uint32_t pending_fill[3]; } frameskip; - void *enhancement_bufer; + uint16_t *enhancement_bufer; }; extern struct psx_gpu gpu; @@ -102,11 +101,13 @@ int do_cmd_list(uint32_t *list, int count, int *last_cmd); struct rearmed_cbs; int renderer_init(void); +void renderer_finish(void); void renderer_sync_ecmds(uint32_t * ecmds); void renderer_update_caches(int x, int y, int w, int h); void renderer_flush_queues(void); void renderer_set_interlace(int enable, int is_odd); void renderer_set_config(const struct rearmed_cbs *config); +void renderer_notify_res_change(void); int vout_init(void); int vout_finish(void); -- cgit v1.2.3 From 9ee0fd5b333039b1140d90f935aa9299825f1e42 Mon Sep 17 00:00:00 2001 From: notaz Date: Sun, 19 Aug 2012 22:39:49 +0300 Subject: start mmap'ing vram, with hugetlb if possible --- plugins/gpulib/gpu.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'plugins/gpulib/gpu.h') diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index 5ad2a46..78a8990 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -17,10 +17,9 @@ extern "C" { #define CMD_BUFFER_LEN 1024 struct psx_gpu { - uint16_t vram[1024 * 512]; - uint16_t guard[1024 * 512]; // overdraw guard uint32_t cmd_buffer[CMD_BUFFER_LEN]; uint32_t regs[16]; + uint16_t *vram; union { uint32_t reg; struct { @@ -90,6 +89,8 @@ struct psx_gpu { uint32_t pending_fill[3]; } frameskip; uint16_t *enhancement_bufer; + void *(*mmap)(unsigned int size); + void (*munmap)(void *ptr, unsigned int size); }; extern struct psx_gpu gpu; -- cgit v1.2.3 From a8be0debff95f9b56af7c4c19eaacee782a09e28 Mon Sep 17 00:00:00 2001 From: notaz Date: Tue, 23 Oct 2012 00:34:30 +0300 Subject: gpu: move enhacement logic out of vout_pl --- plugins/gpulib/gpu.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'plugins/gpulib/gpu.h') diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index 78a8990..ea5051e 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -88,7 +88,8 @@ struct psx_gpu { uint32_t last_flip_frame; uint32_t pending_fill[3]; } frameskip; - uint16_t *enhancement_bufer; + uint16_t *(*get_enhancement_bufer) + (int *x, int *y, int *w, int *h, int *stride, int *mask); void *(*mmap)(unsigned int size); void (*munmap)(void *ptr, unsigned int size); }; -- cgit v1.2.3 From fa56d36096cd4ab2b227ce2aa61c8404b8874689 Mon Sep 17 00:00:00 2001 From: notaz Date: Mon, 29 Oct 2012 01:08:35 +0200 Subject: move blit to core, allow filtering while blitting also adds libpicofe to pull filters from, and filter related UI stuff --- plugins/gpulib/gpu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'plugins/gpulib/gpu.h') diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index ea5051e..d11f991 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -89,7 +89,7 @@ struct psx_gpu { uint32_t pending_fill[3]; } frameskip; uint16_t *(*get_enhancement_bufer) - (int *x, int *y, int *w, int *h, int *stride, int *mask); + (int *x, int *y, int *w, int *h, int *vram_h); void *(*mmap)(unsigned int size); void (*munmap)(void *ptr, unsigned int size); }; -- cgit v1.2.3