aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotaz2015-02-03 03:10:06 +0200
committernotaz2015-02-03 03:10:06 +0200
commit92a5fe88a86f0a25c3bbc74f80b67b16e18608e7 (patch)
treec0d3e32904ae465893c630d0ed3ebd8b73efe34e
parenteed148b7fcde73477379388da58d12cd379a6a81 (diff)
downloadpcsx_rearmed-92a5fe88a86f0a25c3bbc74f80b67b16e18608e7.tar.gz
pcsx_rearmed-92a5fe88a86f0a25c3bbc74f80b67b16e18608e7.tar.bz2
pcsx_rearmed-92a5fe88a86f0a25c3bbc74f80b67b16e18608e7.zip
frontend: fix minor glitches on video mode changes
-rw-r--r--frontend/plat_omap.c3
-rw-r--r--frontend/plugin_lib.c12
-rw-r--r--plugins/gpulib/vout_pl.c3
3 files changed, 11 insertions, 7 deletions
diff --git a/frontend/plat_omap.c b/frontend/plat_omap.c
index 4e3ea79..f25f31c 100644
--- a/frontend/plat_omap.c
+++ b/frontend/plat_omap.c
@@ -111,10 +111,11 @@ void *plat_gvideo_set_mode(int *w_in, int *h_in, int *bpp)
}
}
- vout_fbdev_clear(layer_fb);
buf = vout_fbdev_resize(layer_fb, w, h, *bpp,
l, r, t, b, 3);
+ vout_fbdev_clear(layer_fb);
+
omap_enable_layer(1);
return buf;
diff --git a/frontend/plugin_lib.c b/frontend/plugin_lib.c
index 56da763..ab4d415 100644
--- a/frontend/plugin_lib.c
+++ b/frontend/plugin_lib.c
@@ -34,6 +34,8 @@
#include "../libpcsxcore/psxmem_map.h"
#include "../plugins/dfinput/externals.h"
+#define HUD_HEIGHT 10
+
int in_type1, in_type2;
int in_a1[2] = { 127, 127 }, in_a2[2] = { 127, 127 };
int in_adev[2] = { -1, -1 }, in_adev_axis[2][2] = {{ 0, 1 }, { 0, 1 }};
@@ -101,20 +103,20 @@ static void hud_printf(void *fb, int w, int x, int y, const char *texto, ...)
static void print_msg(int h, int border)
{
- hud_print(pl_vout_buf, pl_vout_w, border + 2, h - 10, hud_msg);
+ hud_print(pl_vout_buf, pl_vout_w, border + 2, h - HUD_HEIGHT, hud_msg);
}
static void print_fps(int h, int border)
{
- hud_printf(pl_vout_buf, pl_vout_w, border + 2, h - 10,
+ hud_printf(pl_vout_buf, pl_vout_w, border + 2, h - HUD_HEIGHT,
"%2d %4.1f", pl_rearmed_cbs.flips_per_sec,
pl_rearmed_cbs.vsps_cur);
}
static void print_cpu_usage(int w, int h, int border)
{
- hud_printf(pl_vout_buf, pl_vout_w, pl_vout_w - border - 28, h - 10,
- "%3d", pl_rearmed_cbs.cpu_usage);
+ hud_printf(pl_vout_buf, pl_vout_w, pl_vout_w - border - 28,
+ h - HUD_HEIGHT, "%3d", pl_rearmed_cbs.cpu_usage);
}
// draw 192x8 status of 24 sound channels
@@ -126,7 +128,7 @@ static __attribute__((noinline)) void draw_active_chans(int vout_w, int vout_h)
static const unsigned short colors[2] = { 0x1fe3, 0x0700 };
unsigned short *dest = (unsigned short *)pl_vout_buf +
- vout_w * (vout_h - 10) + vout_w / 2 - 192/2;
+ vout_w * (vout_h - HUD_HEIGHT) + vout_w / 2 - 192/2;
unsigned short *d, p;
int c, x, y;
diff --git a/plugins/gpulib/vout_pl.c b/plugins/gpulib/vout_pl.c
index 541b5e0..a9437cb 100644
--- a/plugins/gpulib/vout_pl.c
+++ b/plugins/gpulib/vout_pl.c
@@ -89,11 +89,12 @@ void vout_blank(void)
{
int w = gpu.screen.hres;
int h = gpu.screen.h;
+
+ check_mode_change(0);
if (gpu.state.enhancement_active) {
w *= 2;
h *= 2;
}
- check_mode_change(0);
cbs->pl_vout_flip(NULL, 1024, gpu.status.rgb24, w, h);
}