aboutsummaryrefslogtreecommitdiff
path: root/plugins/gpu_neon/vout_fb.c
diff options
context:
space:
mode:
authornotaz2011-06-18 01:33:50 +0300
committernotaz2011-08-13 00:57:32 +0300
commitfc84f6188a55f2548956356c0eda64945183cafc (patch)
tree0fb3bd20d6038c6a53a2ca53287a52a798e1ed72 /plugins/gpu_neon/vout_fb.c
parent8dd855cd6cdab41d1e38637a020681137eceb457 (diff)
downloadpcsx_rearmed-fc84f6188a55f2548956356c0eda64945183cafc.tar.gz
pcsx_rearmed-fc84f6188a55f2548956356c0eda64945183cafc.tar.bz2
pcsx_rearmed-fc84f6188a55f2548956356c0eda64945183cafc.zip
gpu_neon: basic frameskip, change check, minor stuff
Diffstat (limited to 'plugins/gpu_neon/vout_fb.c')
-rw-r--r--plugins/gpu_neon/vout_fb.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/plugins/gpu_neon/vout_fb.c b/plugins/gpu_neon/vout_fb.c
index fdcfd51..f80a29f 100644
--- a/plugins/gpu_neon/vout_fb.c
+++ b/plugins/gpu_neon/vout_fb.c
@@ -81,12 +81,20 @@ static void blit(void)
void GPUupdateLace(void)
{
- if (!gpu.status.blanking)
+ if (gpu.frameskip.enabled && !gpu.frameskip.frame_ready)
+ return;
+
+ if (!gpu.status.blanking && gpu.state.fb_dirty) {
blit();
+ gpu.state.fb_dirty = 0;
+ }
}
long GPUopen(void)
{
+ gpu.frameskip.enabled = cbs->frameskip;
+ gpu.frameskip.advice = &cbs->fskip_advice;
+
cbs->pl_fbdev_open();
screen_buf = cbs->pl_fbdev_flip();
return 0;
@@ -101,6 +109,9 @@ long GPUclose(void)
void GPUrearmedCallbacks(const struct rearmed_cbs *cbs_)
{
cbs = cbs_;
+ gpu.frameskip.enabled = cbs->frameskip;
+ gpu.frameskip.advice = &cbs->fskip_advice;
+ gpu.frameskip.active = gpu.frameskip.frame_ready = 0;
}
// vim:shiftwidth=2:expandtab