diff options
| author | David Turner <digit@android.com> | 2011-04-05 05:37:39 -0700 |
|---|---|---|
| committer | Android Code Review <code-review@android.com> | 2011-04-05 05:37:39 -0700 |
| commit | ba43b928e6de8100c8feea75383dd89b1207c3c1 (patch) | |
| tree | 6d445cc3a64bfd489eaec893b07c14a58a8bd2d6 /tools/emulator/opengl/shared/OpenglCodecCommon/TimeUtils.cpp | |
| parent | a8725e817a329cf4834da23011b430bacf1d3abc (diff) | |
| parent | 81c015740c01013f84c10941a8dc3cfd4adb8012 (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.cpp | 55 |
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 +} |
