summaryrefslogtreecommitdiff
path: root/libretro.c
diff options
context:
space:
mode:
authorAlcaro2014-12-11 23:21:07 +0100
committerAlcaro2014-12-11 23:21:27 +0100
commita42f3c57fffdb654e918764c2719097c62db9bb3 (patch)
tree3c022c90e4864d74c7904e2a63d3d8620913aa19 /libretro.c
parent4cfd459d5bff29feaf569f26c8a8ffcbf5fcd472 (diff)
downloadpicogpsp-a42f3c57fffdb654e918764c2719097c62db9bb3.tar.gz
picogpsp-a42f3c57fffdb654e918764c2719097c62db9bb3.tar.bz2
picogpsp-a42f3c57fffdb654e918764c2719097c62db9bb3.zip
Allow core to work without GET_PERF_INTERFACE.
Diffstat (limited to 'libretro.c')
-rw-r--r--libretro.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libretro.c b/libretro.c
index 616d522..1d071d9 100644
--- a/libretro.c
+++ b/libretro.c
@@ -120,6 +120,12 @@ void retro_deinit(void)
#endif
}
+static retro_time_t retro_perf_dummy_get_time_usec() { return 0; }
+static retro_perf_tick_t retro_perf_dummy_get_counter() { return 0; }
+static uint64_t retro_perf_dummy_get_cpu_features() { return 0; }
+static void retro_perf_dummy_log() {}
+static void retro_perf_dummy_counter(struct retro_perf_counter *counter) {};
+
void retro_set_environment(retro_environment_t cb)
{
struct retro_log_callback log;
@@ -138,6 +144,15 @@ void retro_set_environment(retro_environment_t cb)
else
log_cb = NULL;
+ perf_cb = (struct retro_perf_callback){
+ retro_perf_dummy_get_time_usec,
+ retro_perf_dummy_get_counter,
+ retro_perf_dummy_get_cpu_features,
+ retro_perf_dummy_counter,
+ retro_perf_dummy_counter,
+ retro_perf_dummy_counter,
+ retro_perf_dummy_log,
+ };
environ_cb(RETRO_ENVIRONMENT_GET_PERF_INTERFACE, &perf_cb);
environ_cb(RETRO_ENVIRONMENT_SET_VARIABLES, (void*)vars);
}