Should fix very strange flickering bug.

This commit is contained in:
Themaister 2013-04-22 21:10:17 +02:00
parent 44476bdbfb
commit 0e61461c07
2 changed files with 11 additions and 5 deletions

View File

@ -374,6 +374,12 @@ void uninit_libretro_sym(void)
#ifndef RARCH_CONSOLE
lib_dummy = false;
#endif
// No longer valid.
memset(&g_extern.system.info, 0, sizeof(g_extern.system.info));
memset(&g_extern.system.av_info, 0, sizeof(g_extern.system.av_info));
memset(&g_extern.frame_cache, 0, sizeof(g_extern.frame_cache));
g_extern.system.pix_fmt = RETRO_PIXEL_FORMAT_0RGB1555;
}
#ifdef NEED_DYNAMIC

View File

@ -249,6 +249,11 @@ static void video_frame(const void *data, unsigned width, unsigned height, size_
if (!g_extern.video_active)
return;
g_extern.frame_cache.data = data;
g_extern.frame_cache.width = width;
g_extern.frame_cache.height = height;
g_extern.frame_cache.pitch = pitch;
if (g_extern.system.pix_fmt == RETRO_PIXEL_FORMAT_0RGB1555 && data)
{
RARCH_PERFORMANCE_INIT(video_frame_conv);
@ -307,11 +312,6 @@ static void video_frame(const void *data, unsigned width, unsigned height, size_
if (!video_frame_func(data, width, height, pitch, msg))
g_extern.video_active = false;
#endif
g_extern.frame_cache.data = data;
g_extern.frame_cache.width = width;
g_extern.frame_cache.height = height;
g_extern.frame_cache.pitch = pitch;
}
void rarch_render_cached_frame(void)