diff --git a/dynamic.c b/dynamic.c index 9df7803470..f72837f1b6 100644 --- a/dynamic.c +++ b/dynamic.c @@ -847,6 +847,7 @@ bool rarch_environment_cb(unsigned cmd, void *data) cb->get_perf_counter = rarch_get_perf_counter; cb->get_time_usec = rarch_get_time_usec; cb->get_cpu_features = rarch_get_cpu_features; + cb->perf_log = rarch_perf_log; break; } diff --git a/frontend/frontend.c b/frontend/frontend.c index ed20b03f76..0c3fe8bfc9 100644 --- a/frontend/frontend.c +++ b/frontend/frontend.c @@ -366,7 +366,9 @@ returntype main_entry(signature()) rarch_deinit_msg_queue(); global_uninit_drivers(); +#ifdef PERF_TEST rarch_perf_log(); +#endif #if defined(HAVE_LOGGER) && !defined(ANDROID) logger_shutdown(); diff --git a/frontend/frontend_emscripten.c b/frontend/frontend_emscripten.c index f289c85d77..5c2a044180 100644 --- a/frontend/frontend_emscripten.c +++ b/frontend/frontend_emscripten.c @@ -40,7 +40,9 @@ static void endloop(void) rarch_deinit_msg_queue(); +#ifdef PERF_TEST rarch_perf_log(); +#endif rarch_main_clear_state(); diff --git a/libretro.h b/libretro.h index a94221925f..a94c32de7c 100755 --- a/libretro.h +++ b/libretro.h @@ -616,12 +616,14 @@ typedef struct retro_perf_counter typedef retro_time_t (*retro_perf_get_time_usec_t)(void); typedef retro_perf_tick_t (*retro_perf_get_counter_t)(void); typedef void (*retro_get_cpu_features_t)(unsigned*); +typedef void (*retro_perf_log_t)(void); struct retro_perf_callback { retro_perf_get_time_usec_t get_time_usec; retro_perf_get_counter_t get_perf_counter; retro_get_cpu_features_t get_cpu_features; + retro_perf_log_t perf_log; }; #if defined(PERF_TEST)