PSP: improve performance counter res to us granularity

This commit is contained in:
rofl0r
2024-03-23 16:28:58 +00:00
committed by Sam Lantinga
parent fa18c9bf4a
commit 82b449611a

View File

@@ -30,35 +30,21 @@
#include <time.h>
#include <sys/time.h>
#include <pspthreadman.h>
static struct timeval start;
static SDL_bool ticks_started = SDL_FALSE;
#include <psprtc.h>
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)