From 20d4e546d8cb34f8944ef00d249416a047c95524 Mon Sep 17 00:00:00 2001 From: Robert Phillips Date: Tue, 24 Jul 2018 11:04:18 -0400 Subject: 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 Reviewed-by: Greg Daniel --- include/private/GrOpList.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include') 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; }; -- cgit v1.2.3