]> git.cworth.org Git - apitrace/blobdiff - os_win32.cpp
Handle vertex attriv locations correctly.
[apitrace] / os_win32.cpp
index 5f8dddfc1204f7805d720d4a7ae3c98c8df052b5..f220ae5ec46dbbcd7368ca0204a36a669d26c835 100644 (file)
@@ -28,7 +28,6 @@
 #include <stdio.h>
 
 #include "os.hpp"
-#include "log.hpp"
 
 
 namespace OS {
@@ -91,20 +90,37 @@ GetCurrentDir(char *str, size_t size)
 void
 DebugMessage(const char *format, ...)
 {
-   char buf[4096];
-
-   va_list ap;
-   va_start(ap, format);
-   fflush(stdout);
-   vsnprintf(buf, sizeof buf, format, ap);
-   va_end(ap);
-
-   OutputDebugStringA(buf);
-   if (!IsDebuggerPresent()) {
-      fflush(stdout);
-      fputs(buf, stderr);
-      fflush(stderr);
-   }
+    char buf[4096];
+
+    va_list ap;
+    va_start(ap, format);
+    fflush(stdout);
+    vsnprintf(buf, sizeof buf, format, ap);
+    va_end(ap);
+
+    OutputDebugStringA(buf);
+
+    /*
+     * Also write the message to stderr, when a debugger is not present (to
+     * avoid duplicate messages in command line debuggers).
+     */
+#if _WIN32_WINNT > 0x0400
+    if (!IsDebuggerPresent()) {
+        fflush(stdout);
+        fputs(buf, stderr);
+        fflush(stderr);
+    }
+#endif
+}
+
+long long GetTime(void)
+{
+    static LARGE_INTEGER frequency;
+    LARGE_INTEGER counter;
+    if (!frequency.QuadPart)
+        QueryPerformanceFrequency(&frequency);
+    QueryPerformanceCounter(&counter);
+    return counter.QuadPart*1000000LL/frequency.QuadPart;
 }
 
 void
@@ -117,25 +133,4 @@ Abort(void)
 #endif
 }
 
-
-
 } /* namespace OS */
-
-
-#if 0
-BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
-    switch(fdwReason) {
-    case DLL_PROCESS_ATTACH:
-    case DLL_THREAD_ATTACH:
-        return TRUE;
-    case DLL_THREAD_DETACH:
-        return TRUE;
-    case DLL_PROCESS_DETACH:
-        Log::Close();
-        return TRUE;
-    }
-    (void)hinstDLL;
-    (void)lpvReserved;
-    return TRUE;
-}
-#endif