{
}
-#ifdef FRONTEND_SUPPORTS_RGB565
+#ifndef FRONTEND_SUPPORTS_RGB565
static void convert(void *buf, size_t bytes)
{
unsigned int i, v, *p = buf;
static unsigned game_width;
static unsigned game_height;
+static unsigned game_fb_dirty;
static void vout_flip(const void *vram, int stride, int bgr24, int w, int h)
{
out:
#ifndef FRONTEND_SUPPORTS_RGB565
- convert(vout_buf, w * h * 2);
+ convert(vout_buf, w * h * 2);
#endif
- game_width = w;
- game_height = h;
+ game_width = w;
+ game_height = h;
+ game_fb_dirty = 1;
pl_rearmed_cbs.flip_cnt++;
}
psxCpu->Execute();
samples_to_send += 44100 / 60;
- video_cb(vout_buf, game_width, game_height, game_width * 2);
+
+ video_cb(game_fb_dirty ? vout_buf : NULL, game_width, game_height, game_width * 2);
+ game_fb_dirty = 0;
}
void retro_init(void)