aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authornotaz2011-09-23 01:47:33 +0300
committernotaz2011-09-23 03:08:48 +0300
commit321ca84db15812ffd5607fa51d488e3d59b4c0c7 (patch)
tree45af0b5af551d65f39ba9aa1c9e9ee7ab614033b /frontend
parentbe1cb678c445cb8d9a4d707c698f0dc600a490ea (diff)
downloadpcsx_rearmed-321ca84db15812ffd5607fa51d488e3d59b4c0c7.tar.gz
pcsx_rearmed-321ca84db15812ffd5607fa51d488e3d59b4c0c7.tar.bz2
pcsx_rearmed-321ca84db15812ffd5607fa51d488e3d59b4c0c7.zip
frontend: fix a couple of annoyancies
Diffstat (limited to 'frontend')
-rw-r--r--frontend/plugin_lib.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/frontend/plugin_lib.c b/frontend/plugin_lib.c
index 57b9422..fe9fad1 100644
--- a/frontend/plugin_lib.c
+++ b/frontend/plugin_lib.c
@@ -111,7 +111,10 @@ static __attribute__((noinline)) void draw_active_chans(void)
static void *pl_vout_set_mode(int w, int h, int bpp)
{
// special h handling, Wipeout likes to change it by 1-6
- h = (h + 7) & ~7;
+ static int vsync_cnt_ms_prev;
+ if ((unsigned int)(vsync_cnt - vsync_cnt_ms_prev) < 5*60)
+ h = (h + 7) & ~7;
+ vsync_cnt_ms_prev = vsync_cnt;
if (w == pl_vout_w && h == pl_vout_h && bpp == pl_vout_bpp)
return pl_vout_buf;
@@ -171,7 +174,10 @@ static int pl_vout_open(void)
omap_enable_layer(1);
#if defined(VOUT_FBDEV)
- pl_vout_buf = vout_fbdev_flip(layer_fb);
+ // force mode update
+ int h = pl_vout_h;
+ pl_vout_h--;
+ pl_vout_buf = pl_vout_set_mode(pl_vout_w, h, pl_vout_bpp);
// try to align redraws to vsync
vout_fbdev_wait_vsync(layer_fb);
@@ -445,5 +451,8 @@ void pl_start_watchdog(void)
void pl_init(void)
{
+ pl_vout_w = pl_vout_h = 256;
+ pl_vout_bpp = 16;
+
ts = pl_gun_ts_init();
}