From 82b449611afc4129c562512a5463da0cd9937406 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Sat, 23 Mar 2024 16:28:58 +0000 Subject: [PATCH] PSP: improve performance counter res to us granularity --- src/timer/psp/SDL_systimer.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/src/timer/psp/SDL_systimer.c b/src/timer/psp/SDL_systimer.c index c69598e448..64ccc82f81 100644 --- a/src/timer/psp/SDL_systimer.c +++ b/src/timer/psp/SDL_systimer.c @@ -30,35 +30,21 @@ #include #include #include - -static struct timeval start; -static SDL_bool ticks_started = SDL_FALSE; +#include void SDL_TicksInit(void) { - if (ticks_started) { - return; - } - ticks_started = SDL_TRUE; - - gettimeofday(&start, NULL); } void SDL_TicksQuit(void) { - ticks_started = SDL_FALSE; } Uint64 SDL_GetTicks64(void) { - struct timeval now; - - if (!ticks_started) { - SDL_TicksInit(); - } - - gettimeofday(&now, NULL); - return (Uint64)(((Sint64)(now.tv_sec - start.tv_sec) * 1000) + ((now.tv_usec - start.tv_usec) / 1000)); + Uint64 ticks; + sceRtcGetCurrentTick(&ticks); + return ticks; } Uint64 SDL_GetPerformanceCounter(void) @@ -68,7 +54,7 @@ Uint64 SDL_GetPerformanceCounter(void) Uint64 SDL_GetPerformanceFrequency(void) { - return 1000; + return sceRtcGetTickResolution(); } void SDL_Delay(Uint32 ms)