X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=cli%2Ftrace_analyzer.cpp;h=36058cf5e1c5b8e51354581253892dada8eb52cc;hb=139cedfe13f8fd27b5c70280b3f2f4334cc46a2a;hp=48153f02a50cdd831861dd7c064b0c2899368cd8;hpb=25fe524415ade86b96e5d260134fab7de587b227;p=apitrace diff --git a/cli/trace_analyzer.cpp b/cli/trace_analyzer.cpp index 48153f0..36058cf 100644 --- a/cli/trace_analyzer.cpp +++ b/cli/trace_analyzer.cpp @@ -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),