summaryrefslogtreecommitdiffstats
path: root/opengl/shared/OpenglCodecCommon/TimeUtils.cpp
diff options
context:
space:
mode:
authorkeunyoung <keunyoung@google.com>2013-03-08 12:28:03 -0800
committerkeunyoung <keunyoung@google.com>2013-03-11 10:57:27 -0700
commit8a94683196406b83b14218d1beef66067f126a16 (patch)
treea4b534173fee983175f175d611eb0840d0a4ff59 /opengl/shared/OpenglCodecCommon/TimeUtils.cpp
parenta76102f225ebb6b00b0d3f84624a285e0f8df773 (diff)
downloadandroid_device_generic_goldfish-8a94683196406b83b14218d1beef66067f126a16.tar.gz
android_device_generic_goldfish-8a94683196406b83b14218d1beef66067f126a16.tar.bz2
android_device_generic_goldfish-8a94683196406b83b14218d1beef66067f126a16.zip
migrate opengl and system from development/tools
- components under system are moved one directory up like all other HALs Change-Id: I03b870b870d83b247ac398cadfb155f03c9adfa0
Diffstat (limited to 'opengl/shared/OpenglCodecCommon/TimeUtils.cpp')
-rw-r--r--opengl/shared/OpenglCodecCommon/TimeUtils.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/opengl/shared/OpenglCodecCommon/TimeUtils.cpp b/opengl/shared/OpenglCodecCommon/TimeUtils.cpp
new file mode 100644
index 0000000..50aeb03
--- /dev/null
+++ b/opengl/shared/OpenglCodecCommon/TimeUtils.cpp
@@ -0,0 +1,69 @@
+/*
+* Copyright (C) 2011 The Android Open Source Project
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+#include "TimeUtils.h"
+
+#ifdef _WIN32
+#include <windows.h>
+#include <time.h>
+#include <stdio.h>
+#elif defined(__linux__)
+#include <stdlib.h>
+#include <sys/time.h>
+#include <time.h>
+#include <unistd.h>
+#else
+#include <sys/time.h>
+#include <unistd.h>
+#endif
+
+long long GetCurrentTimeMS()
+{
+#ifdef _WIN32
+ static LARGE_INTEGER freq;
+ static bool bNotInit = true;
+ if ( bNotInit ) {
+ bNotInit = (QueryPerformanceFrequency( &freq ) == FALSE);
+ }
+ LARGE_INTEGER currVal;
+ QueryPerformanceCounter( &currVal );
+
+ return currVal.QuadPart / (freq.QuadPart / 1000);
+
+#elif defined(__linux__)
+
+ struct timespec now;
+ clock_gettime(CLOCK_MONOTONIC, &now);
+ long long iDiff = (now.tv_sec * 1000LL) + now.tv_nsec/1000000LL;
+ return iDiff;
+
+#else /* Others, e.g. OS X */
+
+ struct timeval now;
+ gettimeofday(&now, NULL);
+ long long iDiff = (now.tv_sec * 1000LL) + now.tv_usec/1000LL;
+ return iDiff;
+
+#endif
+}
+
+void TimeSleepMS(int p_mili)
+{
+#ifdef _WIN32
+ Sleep(p_mili);
+#else
+ usleep(p_mili * 1000);
+#endif
+}