]> git.cworth.org Git - apitrace/blobdiff - retrace/glretrace_main.cpp
glretrace: Fix cpu timings when not measuring gpu times.
[apitrace] / retrace / glretrace_main.cpp
index 1591287c22d9d254507dba27a23c5245a5e83d20..3645b4f3978cde994afab5da7b86176df15d8687 100755 (executable)
@@ -178,7 +178,9 @@ completeCallQuery(CallQuery& query) {
     }
 
     if (retrace::profilingCpuTimes) {
-        cpuDuration = query.cpuEnd - query.cpuStart;
+        double cpuTimeScale = 1.0E9 / getTimeFrequency();
+        cpuDuration = (query.cpuEnd - query.cpuStart) * cpuTimeScale;
+        query.cpuStart *= cpuTimeScale;
     }
 
     if (retrace::profilingMemoryUsage) {
@@ -318,7 +320,8 @@ initContext() {
     /* Sync the gpu and cpu start times */
     if (retrace::profilingCpuTimes || retrace::profilingGpuTimes) {
         if (!retrace::profiler.hasBaseTimes()) {
-            GLint64 currentTime = getCurrentTime();
+            double cpuTimeScale = 1.0E9 / getTimeFrequency();
+            GLint64 currentTime = getCurrentTime() * cpuTimeScale;
             retrace::profiler.setBaseCpuTime(currentTime);
             retrace::profiler.setBaseGpuTime(currentTime);
         }