mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
Reimplement deferred push for core_counters and frontend_counters
This commit is contained in:
parent
fad3cbdb50
commit
8aff0fc34a
@ -121,21 +121,6 @@ static void add_setting_entry(menu_handle_t *menu,
|
||||
setting->name, id, 0);
|
||||
}
|
||||
|
||||
static void push_perfcounter(menu_handle_t *menu,
|
||||
file_list_t *list,
|
||||
const struct retro_perf_counter **counters,
|
||||
unsigned num, unsigned id)
|
||||
{
|
||||
unsigned i;
|
||||
if (!counters || num == 0)
|
||||
return;
|
||||
|
||||
for (i = 0; i < num; i++)
|
||||
if (counters[i] && counters[i]->ident)
|
||||
file_list_push(list, counters[i]->ident, "",
|
||||
id + i, 0);
|
||||
}
|
||||
|
||||
void menu_entries_pop_list(file_list_t *list)
|
||||
{
|
||||
if (file_list_get_size(list) > 1)
|
||||
@ -379,18 +364,6 @@ int push_list(menu_handle_t *menu,
|
||||
|
||||
do_action = true;
|
||||
}
|
||||
else if (!strcmp(label, "core_counters"))
|
||||
{
|
||||
file_list_clear(list);
|
||||
push_perfcounter(menu, list, perf_counters_libretro,
|
||||
perf_ptr_libretro, MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN);
|
||||
}
|
||||
else if (!strcmp(label, "frontend_counters"))
|
||||
{
|
||||
file_list_clear(list);
|
||||
push_perfcounter(menu, list, perf_counters_rarch,
|
||||
perf_ptr_rarch, MENU_SETTINGS_PERF_COUNTERS_BEGIN);
|
||||
}
|
||||
else if (!strcmp(label, "core_options"))
|
||||
{
|
||||
file_list_clear(list);
|
||||
|
@ -1436,6 +1436,21 @@ static int deferred_push_shader_options(void *data, void *userdata,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void push_perfcounter(menu_handle_t *menu,
|
||||
file_list_t *list,
|
||||
const struct retro_perf_counter **counters,
|
||||
unsigned num, unsigned id)
|
||||
{
|
||||
unsigned i;
|
||||
if (!counters || num == 0)
|
||||
return;
|
||||
|
||||
for (i = 0; i < num; i++)
|
||||
if (counters[i] && counters[i]->ident)
|
||||
file_list_push(list, counters[i]->ident, "",
|
||||
id + i, 0);
|
||||
}
|
||||
|
||||
static int deferred_push_core_counters(void *data, void *userdata,
|
||||
const char *path, const char *label, unsigned type)
|
||||
{
|
||||
@ -1445,7 +1460,9 @@ static int deferred_push_core_counters(void *data, void *userdata,
|
||||
if (!list || !menu_list)
|
||||
return -1;
|
||||
|
||||
return push_list(driver.menu, list, path, label, type);
|
||||
file_list_clear(list);
|
||||
push_perfcounter(driver.menu, list, perf_counters_libretro,
|
||||
perf_ptr_libretro, MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1459,7 +1476,9 @@ static int deferred_push_frontend_counters(void *data, void *userdata,
|
||||
if (!list || !menu_list)
|
||||
return -1;
|
||||
|
||||
return push_list(driver.menu, list, path, label, type);
|
||||
file_list_clear(list);
|
||||
push_perfcounter(driver.menu, list, perf_counters_rarch,
|
||||
perf_ptr_rarch, MENU_SETTINGS_PERF_COUNTERS_BEGIN);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user