Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: src/gpu/GrPipeline.h

Issue 2316413003: Remove ability to skip coord transform comparison in pipeline comparison. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/gpu/GrFragmentProcessor.cpp ('k') | src/gpu/GrPipeline.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef GrPipeline_DEFINED 8 #ifndef GrPipeline_DEFINED
9 #define GrPipeline_DEFINED 9 #define GrPipeline_DEFINED
10 10
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 72
73 /////////////////////////////////////////////////////////////////////////// 73 ///////////////////////////////////////////////////////////////////////////
74 /// @name Comparisons 74 /// @name Comparisons
75 75
76 /** 76 /**
77 * Returns true if these pipelines are equivalent. Coord transforms may be applied either on 77 * Returns true if these pipelines are equivalent. Coord transforms may be applied either on
78 * the GPU or the CPU. When we apply them on the CPU then the matrices need not agree in order 78 * the GPU or the CPU. When we apply them on the CPU then the matrices need not agree in order
79 * to combine draws. Therefore we take a param that indicates whether coord transforms should be 79 * to combine draws. Therefore we take a param that indicates whether coord transforms should be
80 * compared." 80 * compared."
81 */ 81 */
82 static bool AreEqual(const GrPipeline& a, const GrPipeline& b, bool ignoreCo ordTransforms); 82 static bool AreEqual(const GrPipeline& a, const GrPipeline& b);
83 83
84 /** 84 /**
85 * Allows a GrBatch subclass to determine whether two GrBatches can combine. This is a stricter 85 * Allows a GrBatch subclass to determine whether two GrBatches can combine. This is a stricter
86 * test than isEqual because it also considers blend barriers when the two b atches' bounds 86 * test than isEqual because it also considers blend barriers when the two b atches' bounds
87 * overlap 87 * overlap
88 */ 88 */
89 static bool CanCombine(const GrPipeline& a, const SkRect& aBounds, 89 static bool CanCombine(const GrPipeline& a, const SkRect& aBounds,
90 const GrPipeline& b, const SkRect& bBounds, 90 const GrPipeline& b, const SkRect& bBounds,
91 const GrCaps& caps, 91 const GrCaps& caps) {
92 bool ignoreCoordTransforms = false) { 92 if (!AreEqual(a, b)) {
93 if (!AreEqual(a, b, ignoreCoordTransforms)) {
94 return false; 93 return false;
95 } 94 }
96 if (a.xferBarrierType(caps)) { 95 if (a.xferBarrierType(caps)) {
97 return aBounds.fRight <= bBounds.fLeft || 96 return aBounds.fRight <= bBounds.fLeft ||
98 aBounds.fBottom <= bBounds.fTop || 97 aBounds.fBottom <= bBounds.fTop ||
99 bBounds.fRight <= aBounds.fLeft || 98 bBounds.fRight <= aBounds.fLeft ||
100 bBounds.fBottom <= aBounds.fTop; 99 bBounds.fBottom <= aBounds.fTop;
101 } 100 }
102 return true; 101 return true;
103 } 102 }
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 FragmentProcessorArray fFragmentProcessors; 230 FragmentProcessorArray fFragmentProcessors;
232 bool fIgnoresCoverage; 231 bool fIgnoresCoverage;
233 232
234 // This value is also the index in fFragmentProcessors where coverage proces sors begin. 233 // This value is also the index in fFragmentProcessors where coverage proces sors begin.
235 int fNumColorProcessors; 234 int fNumColorProcessors;
236 235
237 typedef SkRefCnt INHERITED; 236 typedef SkRefCnt INHERITED;
238 }; 237 };
239 238
240 #endif 239 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrFragmentProcessor.cpp ('k') | src/gpu/GrPipeline.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698