aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotaz2011-12-08 23:09:36 +0200
committernotaz2011-12-09 01:29:54 +0200
commit914455e692f4720c43f4bc2122a4795e6c45bc7c (patch)
tree32208d9d5bedb0379d9c616a77e7b58fd1bc6b0f
parent914722b27cdd4e4373418461151e223557e70559 (diff)
downloadpcsx_rearmed-914455e692f4720c43f4bc2122a4795e6c45bc7c.tar.gz
pcsx_rearmed-914455e692f4720c43f4bc2122a4795e6c45bc7c.tar.bz2
pcsx_rearmed-914455e692f4720c43f4bc2122a4795e6c45bc7c.zip
gpu_neon: propagate configs to rasterizers
-rw-r--r--plugins/gpu_neon/gpu.h4
-rw-r--r--plugins/gpu_neon/peops_if.c8
-rw-r--r--plugins/gpu_neon/unai_if.cpp9
-rw-r--r--plugins/gpu_neon/vout_fb.c4
-rw-r--r--plugins/gpu_neon/vout_sdl.c10
5 files changed, 33 insertions, 2 deletions
diff --git a/plugins/gpu_neon/gpu.h b/plugins/gpu_neon/gpu.h
index f5cc632..8ad71c2 100644
--- a/plugins/gpu_neon/gpu.h
+++ b/plugins/gpu_neon/gpu.h
@@ -89,17 +89,19 @@ extern const unsigned char cmd_lengths[256];
void do_cmd_list(uint32_t *list, int count);
+struct rearmed_cbs;
+
int renderer_init(void);
void renderer_sync_ecmds(uint32_t * ecmds);
void renderer_invalidate_caches(int x, int y, int w, int h);
void renderer_flush_queues(void);
+void renderer_set_config(const struct rearmed_cbs *config);
int vout_init(void);
int vout_finish(void);
/* listing these here for correct linkage if rasterizer uses c++ */
struct GPUFreeze;
-struct rearmed_cbs;
long GPUinit(void);
long GPUshutdown(void);
diff --git a/plugins/gpu_neon/peops_if.c b/plugins/gpu_neon/peops_if.c
index 1a4072f..d6c47e2 100644
--- a/plugins/gpu_neon/peops_if.c
+++ b/plugins/gpu_neon/peops_if.c
@@ -382,3 +382,11 @@ void renderer_invalidate_caches(int x, int y, int w, int h)
void renderer_flush_queues(void)
{
}
+
+#include "../../frontend/plugin_lib.h"
+
+void renderer_set_config(const struct rearmed_cbs *cbs)
+{
+ iUseDither = cbs->gpu_peops.iUseDither;
+ dwActFixes = cbs->gpu_peops.dwActFixes;
+}
diff --git a/plugins/gpu_neon/unai_if.cpp b/plugins/gpu_neon/unai_if.cpp
index 2b524d9..0497dda 100644
--- a/plugins/gpu_neon/unai_if.cpp
+++ b/plugins/gpu_neon/unai_if.cpp
@@ -250,3 +250,12 @@ void renderer_invalidate_caches(int x, int y, int w, int h)
void renderer_flush_queues(void)
{
}
+
+#include "../../frontend/plugin_lib.h"
+
+void renderer_set_config(const struct rearmed_cbs *cbs)
+{
+ enableAbbeyHack = cbs->gpu_unai.abe_hack;
+ light = !cbs->gpu_unai.no_light;
+ blend = !cbs->gpu_unai.no_blend;
+}
diff --git a/plugins/gpu_neon/vout_fb.c b/plugins/gpu_neon/vout_fb.c
index 4d03859..864776e 100644
--- a/plugins/gpu_neon/vout_fb.c
+++ b/plugins/gpu_neon/vout_fb.c
@@ -126,6 +126,10 @@ void GPUrearmedCallbacks(const struct rearmed_cbs *cbs_)
gpu.frameskip.frame_ready = 1;
gpu.state.hcnt = cbs->gpu_hcnt;
gpu.state.frame_count = cbs->gpu_frame_count;
+
+ if (cbs->pl_vout_set_raw_vram)
+ cbs->pl_vout_set_raw_vram(gpu.vram);
+ renderer_set_config(cbs_);
}
// vim:shiftwidth=2:expandtab
diff --git a/plugins/gpu_neon/vout_sdl.c b/plugins/gpu_neon/vout_sdl.c
index 9839726..53ed197 100644
--- a/plugins/gpu_neon/vout_sdl.c
+++ b/plugins/gpu_neon/vout_sdl.c
@@ -97,8 +97,16 @@ long GPUclose(void)
return 0;
}
-void GPUrearmedCallbacks(const struct rearmed_cbs *cbs_)
+#include "../../frontend/plugin_lib.h"
+
+void GPUrearmedCallbacks(const struct rearmed_cbs *cbs)
{
+ gpu.state.hcnt = cbs->gpu_hcnt;
+ gpu.state.frame_count = cbs->gpu_frame_count;
+
+ if (cbs->pl_vout_set_raw_vram)
+ cbs->pl_vout_set_raw_vram(gpu.vram);
+ renderer_set_config(cbs);
}
// vim:shiftwidth=2:expandtab