summaryrefslogtreecommitdiff
path: root/tools/emulator/opengl/shared/OpenglCodecCommon/TimeUtils.cpp
diff options
context:
space:
mode:
authorDavid Turner <digit@android.com>2011-04-05 05:37:39 -0700
committerAndroid Code Review <code-review@android.com>2011-04-05 05:37:39 -0700
commitba43b928e6de8100c8feea75383dd89b1207c3c1 (patch)
tree6d445cc3a64bfd489eaec893b07c14a58a8bd2d6 /tools/emulator/opengl/shared/OpenglCodecCommon/TimeUtils.cpp
parenta8725e817a329cf4834da23011b430bacf1d3abc (diff)
parent81c015740c01013f84c10941a8dc3cfd4adb8012 (diff)
Merge "emulator opengl - directory rearrangment"
Diffstat (limited to 'tools/emulator/opengl/shared/OpenglCodecCommon/TimeUtils.cpp')
-rw-r--r--tools/emulator/opengl/shared/OpenglCodecCommon/TimeUtils.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/tools/emulator/opengl/shared/OpenglCodecCommon/TimeUtils.cpp b/tools/emulator/opengl/shared/OpenglCodecCommon/TimeUtils.cpp
new file mode 100644
index 000000000..7f65cca5e
--- /dev/null
+++ b/tools/emulator/opengl/shared/OpenglCodecCommon/TimeUtils.cpp
@@ -0,0 +1,55 @@
+/*
+* 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>
+#else
+#error "Unsupported platform"
+#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
+
+#error "Unsupported platform"
+
+#endif
+}