diff options
author | Francisco José García García | 2016-09-28 13:28:16 +0200 |
---|---|---|
committer | Francisco José García García | 2016-09-28 13:28:16 +0200 |
commit | 6558949c1701e47344da56a03cc3e4b475d55fe8 (patch) | |
tree | 5390652022096f038c6a7b8d643a44a39b08223b | |
parent | 0bfdd1aadcf7674776186d7cb81d802296a4d96a (diff) | |
download | pcsx_rearmed-6558949c1701e47344da56a03cc3e4b475d55fe8.tar.gz pcsx_rearmed-6558949c1701e47344da56a03cc3e4b475d55fe8.tar.bz2 pcsx_rearmed-6558949c1701e47344da56a03cc3e4b475d55fe8.zip |
Fix software buffer
-rw-r--r-- | frontend/libretro.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/frontend/libretro.c b/frontend/libretro.c index 66175af..bab3060 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -118,6 +118,20 @@ static void vout_set_mode(int w, int h, int raw_w, int raw_h, int bpp) { vout_width = w; vout_height = h; + + struct retro_framebuffer fb = {0}; + + fb.width = vout_width; + fb.height = vout_height; + fb.access_flags = RETRO_MEMORY_ACCESS_WRITE; + + vout_buf_ptr = vout_buf; + + if (environ_cb(RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER, &fb) && fb.format == RETRO_PIXEL_FORMAT_RGB565) + { + vout_buf_ptr = (uint16_t*)fb.data; + } + } #ifndef FRONTEND_SUPPORTS_RGB565 @@ -1484,19 +1498,6 @@ void retro_run(void) stop = 0; psxCpu->Execute(); - - struct retro_framebuffer fb = {0}; - - fb.width = vout_width; - fb.height = vout_height; - fb.access_flags = RETRO_MEMORY_ACCESS_WRITE; - - vout_buf_ptr = vout_buf; - - if (environ_cb(RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER, &fb) && fb.format == RETRO_PIXEL_FORMAT_RGB565) - { - vout_buf_ptr = (uint16_t*)fb.data; - } video_cb((vout_fb_dirty || !vout_can_dupe || !duping_enable) ? vout_buf_ptr : NULL, vout_width, vout_height, vout_width * 2); |