aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2018-07-24 11:04:18 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-24 15:31:15 +0000
commit20d4e546d8cb34f8944ef00d249416a047c95524 (patch)
tree98fd2038df62c53eb14935e68644359c609f3dd0 /include
parent734b2a859784af0b16dbbe07570e6d2f5da34e76 (diff)
Reduce arbitrary opList splitting when sorting (take 2)
The original CL (https://skia-review.googlesource.com/c/skia/+/141243 (Reduce arbitrary opList splitting when sorting)) was reverted due to Gold image diffs and perf regressions on Android. The image diffs should be fixed by: https://skia-review.googlesource.com/c/skia/+/142163 (Fix explicit allocation bug) Change-Id: I4bcc59820daf440de81f48e8970b47a6c8ec2bbb Reviewed-on: https://skia-review.googlesource.com/142102 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'include')
-rw-r--r--include/private/GrOpList.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/private/GrOpList.h b/include/private/GrOpList.h
index 9241cd78f5..a4e541c81d 100644
--- a/include/private/GrOpList.h
+++ b/include/private/GrOpList.h
@@ -113,6 +113,11 @@ private:
friend class GrDrawingManager; // for resetFlag, TopoSortTraits & gatherProxyIntervals
void addDependency(GrOpList* dependedOn);
+ void addDependent(GrOpList* dependent);
+ SkDEBUGCODE(bool isDependedent(const GrOpList* dependent) const);
+ SkDEBUGCODE(void validate() const);
+
+ void closeThoseWhoDependOnMe(const GrCaps&);
// Remove all Ops which reference proxies that have not been instantiated.
virtual void purgeOpsWithUninstantiatedProxies() = 0;
@@ -173,6 +178,8 @@ private:
// 'this' GrOpList relies on the output of the GrOpLists in 'fDependencies'
SkSTArray<1, GrOpList*, true> fDependencies;
+ // 'this' GrOpList's output is relied on by the GrOpLists in 'fDependents'
+ SkSTArray<1, GrOpList*, true> fDependents;
typedef SkRefCnt INHERITED;
};