]> git.cworth.org Git - apitrace/blobdiff - cli/trace_analyzer.cpp
Document what to expect in terms of trace size and CPU overhead.
[apitrace] / cli / trace_analyzer.cpp
index 48153f02a50cdd831861dd7c064b0c2899368cd8..36058cf5e1c5b8e51354581253892dada8eb52cc 100644 (file)
@@ -271,12 +271,6 @@ TraceAnalyzer::callHasNoSideEffects(trace::Call *call, const char *name)
         return true;
     }
 
-    /* Similarly, swap-buffers calls don't have interesting side effects. */
-    if (call->flags & trace::CALL_FLAG_SWAP_RENDERTARGET &&
-        call->flags & trace::CALL_FLAG_END_FRAME) {
-        return true;
-    }
-
     /* Not known as a no-side-effect call. Return false for more analysis. */
     return false;
 }
@@ -635,6 +629,13 @@ TraceAnalyzer::recordDrawingSideEffects(trace::Call *call, const char *name)
         return true;
     }
 
+    /* Though it's not flagged as a "RENDER" operation, we also want
+     * to trim swapbuffers calls when trimming drawing operations. */
+    if (call->flags & trace::CALL_FLAG_SWAP_RENDERTARGET &&
+        call->flags & trace::CALL_FLAG_END_FRAME) {
+        return true;
+    }
+
     /* No known drawing-related side effects. Return false for more analysis. */
     return false;
 }
@@ -714,7 +715,7 @@ TraceAnalyzer::requireDependencies(trace::Call *call)
     consume("state");
 }
 
-TraceAnalyzer::TraceAnalyzer(TrimFlags trimFlagsOpt = -1):
+TraceAnalyzer::TraceAnalyzer(TrimFlags trimFlagsOpt):
     transformFeedbackActive(false),
     framebufferObjectActive(false),
     insideBeginEnd(false),