aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrRenderTargetOpList.cpp
diff options
context:
space:
mode:
authorGravatar Chris Dalton <csmartdalton@google.com>2017-11-21 01:28:54 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-27 19:24:46 +0000
commitb9d98e36865796824dd2f839646f029cfa9ce4b5 (patch)
treeab57197fca481b337344f9d0e41c04d65553c4f5 /src/gpu/GrRenderTargetOpList.cpp
parent39204fd5dd289864973d151fc08d6f7985cecbf8 (diff)
Make sure to visit clips and dst proxies during gather
Bug: skia:7190 Change-Id: I72b40743439a33f51b94592fa81cd6146f8e92c6 Reviewed-on: https://skia-review.googlesource.com/74080 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src/gpu/GrRenderTargetOpList.cpp')
-rw-r--r--src/gpu/GrRenderTargetOpList.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/gpu/GrRenderTargetOpList.cpp b/src/gpu/GrRenderTargetOpList.cpp
index 4bdfe589bb..61e8e7d332 100644
--- a/src/gpu/GrRenderTargetOpList.cpp
+++ b/src/gpu/GrRenderTargetOpList.cpp
@@ -274,10 +274,16 @@ void GrRenderTargetOpList::gatherProxyIntervals(GrResourceAllocator* alloc) cons
auto gather = [ alloc ] (GrSurfaceProxy* p) {
alloc->addInterval(p);
};
- for (int i = 0; i < fRecordedOps.count(); ++i) {
- const GrOp* op = fRecordedOps[i].fOp.get(); // only diff from the GrTextureOpList version
- if (op) {
- op->visitProxies(gather);
+ for (const RecordedOp& recordedOp : fRecordedOps) {
+ // only diffs from the GrTextureOpList version
+ if (recordedOp.fOp) {
+ recordedOp.fOp->visitProxies(gather);
+ }
+ if (recordedOp.fDstProxy.proxy()) {
+ gather(recordedOp.fDstProxy.proxy());
+ }
+ if (recordedOp.fAppliedClip) {
+ recordedOp.fAppliedClip->visitProxies(gather);
}
// Even though the op may have been moved we still need to increment the op count to