]> git.cworth.org Git - apitrace/commitdiff
glretrace: Fix cpu timings when not measuring gpu times.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 11 Mar 2013 23:35:22 +0000 (23:35 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 12 Mar 2013 22:09:40 +0000 (22:09 +0000)
common/trace_profiler.cpp
retrace/glretrace_main.cpp

index 773e7cc4096876090087b6c14c3753089e674eda..14edd35477aaac782a9e437a08b0030ccaa58dd3 100644 (file)
@@ -120,9 +120,7 @@ void Profiler::addCall(unsigned no,
     }
 
     if (cpuTimes && cpuStart) {
-        double cpuTimeScale = 1.0E9 / os::timeFrequency;
-        cpuStart = (cpuStart - baseCpuTime) * cpuTimeScale;
-        cpuDuration = cpuDuration * cpuTimeScale;
+        cpuStart = cpuStart - baseCpuTime;
 
         if (cpuDuration < minCpuTime) {
             return;
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);
         }