diff options
author | Robert Phillips <robertphillips@google.com> | 2018-07-24 11:04:18 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-24 15:31:15 +0000 |
commit | 20d4e546d8cb34f8944ef00d249416a047c95524 (patch) | |
tree | 98fd2038df62c53eb14935e68644359c609f3dd0 /include | |
parent | 734b2a859784af0b16dbbe07570e6d2f5da34e76 (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.h | 7 |
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; }; |