- vout_fbdev_clear(layer_fb);
- ret = vout_fbdev_resize(layer_fb, w, h, bpp, 0, 0, 0, 0, 3);
- if (ret == NULL)
+ if (g_opts & OPT_SHOWCPU)
+ print_cpu_usage(w, h, xborder);
+}
+
+static void *pl_vout_set_mode(int w, int h, int bpp)
+{
+ // special h handling, Wipeout likes to change it by 1-6
+ 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;
+
+ pl_vout_w = w;
+ pl_vout_h = h;
+ pl_vout_bpp = bpp;
+
+ pl_vout_buf = plat_gvideo_set_mode(&pl_vout_w, &pl_vout_h, &pl_vout_bpp);
+ if (pl_vout_buf == NULL)