mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-13 00:58:29 +02:00
Fix ogl screenshots for windows.
Fix the macosx build (perhaps). This changes the JitIL timed profiling to using assembly language to obtain the time. It does seem to be faster. Not sure if it will work on macosx, but if it does it has the necessary precision that gettimeofday does not have. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6448 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -21,6 +21,12 @@
|
||||
#include <Windows.h>
|
||||
#include <mmsystem.h>
|
||||
#include <sys/timeb.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#if !defined(_POSIX_TIMERS) || _POSIX_TIMERS == 0
|
||||
#define USE_GETTIMEOFDAY
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "Common.h"
|
||||
@ -34,6 +40,10 @@ u32 Timer::GetTimeMs()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
return timeGetTime();
|
||||
#elif defined USE_GETTIMEOFDAY
|
||||
struct timeval t;
|
||||
(void)gettimeofday(&t, NULL);
|
||||
return ((u32)(t.tv_sec * 1000 + t.tv_usec / 1000));
|
||||
#else
|
||||
struct timespec t;
|
||||
(void)clock_gettime(CLOCK_MONOTONIC_RAW, &t);
|
||||
@ -203,6 +213,10 @@ std::string Timer::GetTimeFormatted()
|
||||
struct timeb tp;
|
||||
(void)::ftime(&tp);
|
||||
sprintf(formattedTime, "%s:%03i", tmp, tp.millitm);
|
||||
#elif defined USE_GETTIMEOFDAY
|
||||
struct timeval t;
|
||||
(void)gettimeofday(&t, NULL);
|
||||
sprintf(formattedTime, "%s:%03d", tmp, (int)(t.tv_usec / 1000));
|
||||
#else
|
||||
struct timespec t;
|
||||
(void)clock_gettime(CLOCK_REALTIME, &t);
|
||||
@ -219,6 +233,9 @@ double Timer::GetDoubleTime()
|
||||
#ifdef _WIN32
|
||||
struct timeb tp;
|
||||
(void)::ftime(&tp);
|
||||
#elif defined USE_GETTIMEOFDAY
|
||||
struct timeval t;
|
||||
(void)gettimeofday(&t, NULL);
|
||||
#else
|
||||
struct timespec t;
|
||||
(void)clock_gettime(CLOCK_REALTIME, &t);
|
||||
@ -236,6 +253,8 @@ double Timer::GetDoubleTime()
|
||||
u32 Seconds = (u32)TmpSeconds;
|
||||
#ifdef _WIN32
|
||||
double ms = tp.millitm / 1000.0 / 1000.0;
|
||||
#elif defined USE_GETTIMEOFDAY
|
||||
double ms = t.tv_usec / 1000000.0;
|
||||
#else
|
||||
double ms = t.tv_nsec / 1000000000.0;
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user