mirror of
https://github.com/libretro/RetroArch
synced 2025-04-11 00:44:20 +00:00
(RMenu) Do set_texture_frame only once in menu_init - solves busy loop
problem with XMB overlay
This commit is contained in:
parent
08f5ee4dc0
commit
b006f01029
@ -3218,6 +3218,10 @@ void menu_init(void)
|
|||||||
menu_stack_push(FILE_BROWSER_MENU, false);
|
menu_stack_push(FILE_BROWSER_MENU, false);
|
||||||
|
|
||||||
rmenu_gfx_init();
|
rmenu_gfx_init();
|
||||||
|
|
||||||
|
if (driver.video_poke && driver.video_poke->set_texture_frame)
|
||||||
|
driver.video_poke->set_texture_frame(driver.video_data, menu_texture->pixels,
|
||||||
|
true, menu_texture->width, menu_texture->height, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3240,14 +3244,9 @@ bool menu_iterate(void)
|
|||||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_MENU_INGAME))
|
if (g_extern.lifecycle_mode_state & (1ULL << MODE_MENU_INGAME))
|
||||||
menu_stack_push(INGAME_MENU, false);
|
menu_stack_push(INGAME_MENU, false);
|
||||||
|
|
||||||
#ifndef __CELLOS_LV2__
|
|
||||||
rmenu_gfx_init();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
g_extern.lifecycle_mode_state &= ~(1ULL << MODE_MENU_PREINIT);
|
g_extern.lifecycle_mode_state &= ~(1ULL << MODE_MENU_PREINIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//first button input frame
|
//first button input frame
|
||||||
uint64_t input_state_first_frame = 0;
|
uint64_t input_state_first_frame = 0;
|
||||||
uint64_t input_state = 0;
|
uint64_t input_state = 0;
|
||||||
@ -3383,11 +3382,7 @@ bool menu_iterate(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (driver.video_poke && driver.video_poke->set_texture_enable)
|
if (driver.video_poke && driver.video_poke->set_texture_enable)
|
||||||
{
|
|
||||||
driver.video_poke->set_texture_frame(driver.video_data, menu_texture->pixels,
|
|
||||||
true, menu_texture->width, menu_texture->height, 1.0f);
|
|
||||||
driver.video_poke->set_texture_enable(driver.video_data, menu_bg_show, true);
|
driver.video_poke->set_texture_enable(driver.video_data, menu_bg_show, true);
|
||||||
}
|
|
||||||
|
|
||||||
// draw last frame for loading messages
|
// draw last frame for loading messages
|
||||||
rarch_render_cached_frame();
|
rarch_render_cached_frame();
|
||||||
@ -3406,9 +3401,5 @@ deinit:
|
|||||||
if (!(g_extern.lifecycle_state & (1ULL << RARCH_FRAMEADVANCE)))
|
if (!(g_extern.lifecycle_state & (1ULL << RARCH_FRAMEADVANCE)))
|
||||||
g_extern.delay_timer[0] = g_extern.frame_count + 30;
|
g_extern.delay_timer[0] = g_extern.frame_count + 30;
|
||||||
|
|
||||||
#ifdef _XBOX1
|
|
||||||
rmenu_gfx_free();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1351,6 +1351,10 @@ void menu_init (void)
|
|||||||
sizeof(browser->current_dir.root_dir));
|
sizeof(browser->current_dir.root_dir));
|
||||||
|
|
||||||
filebrowser_iterate(browser, FILEBROWSER_ACTION_RESET);
|
filebrowser_iterate(browser, FILEBROWSER_ACTION_RESET);
|
||||||
|
|
||||||
|
if (driver.video_poke && driver.video_poke->set_texture_enable)
|
||||||
|
driver.video_poke->set_texture_frame(driver.video_data, NULL,
|
||||||
|
true, 0, 0, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_free (void)
|
void menu_free (void)
|
||||||
@ -1468,11 +1472,7 @@ bool menu_iterate(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (driver.video_poke && driver.video_poke->set_texture_enable)
|
if (driver.video_poke && driver.video_poke->set_texture_enable)
|
||||||
{
|
|
||||||
driver.video_poke->set_texture_frame(driver.video_data, NULL,
|
|
||||||
true, 0, 0, 1.0f);
|
|
||||||
driver.video_poke->set_texture_enable(driver.video_data, true, true);
|
driver.video_poke->set_texture_enable(driver.video_data, true, true);
|
||||||
}
|
|
||||||
|
|
||||||
rarch_render_cached_frame();
|
rarch_render_cached_frame();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user