OLD | NEW |
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 GrPipelineBuilder_DEFINED | 8 #ifndef GrPipelineBuilder_DEFINED |
9 #define GrPipelineBuilder_DEFINED | 9 #define GrPipelineBuilder_DEFINED |
10 | 10 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 int fCoverageEffectCnt; | 132 int fCoverageEffectCnt; |
133 }; | 133 }; |
134 | 134 |
135 /// @} | 135 /// @} |
136 | 136 |
137 /////////////////////////////////////////////////////////////////////////// | 137 /////////////////////////////////////////////////////////////////////////// |
138 /// @name Blending | 138 /// @name Blending |
139 //// | 139 //// |
140 | 140 |
141 /** | 141 /** |
142 * This function returns true if the render target destination pixel values
will be read for | 142 * Returns true if this pipeline's color output will be affected by the exis
ting render target |
143 * blending during draw. | 143 * destination pixel values (meaning we need to be careful with overlapping
draws). Note that we |
| 144 * can conflate coverage and color, so the destination color may still bleed
into pixels that |
| 145 * have partial coverage, even if this function returns false. |
144 */ | 146 */ |
145 bool willBlendWithDst(const GrPrimitiveProcessor*) const; | 147 bool willColorBlendWithDst(const GrPrimitiveProcessor*) const; |
146 | 148 |
147 /** | 149 /** |
148 * Installs a GrXPFactory. This object controls how src color, fractional pi
xel coverage, | 150 * Installs a GrXPFactory. This object controls how src color, fractional pi
xel coverage, |
149 * and the dst color are blended. | 151 * and the dst color are blended. |
150 */ | 152 */ |
151 const GrXPFactory* setXPFactory(const GrXPFactory* xpFactory) { | 153 const GrXPFactory* setXPFactory(const GrXPFactory* xpFactory) { |
152 fXPFactory.reset(SkRef(xpFactory)); | 154 fXPFactory.reset(SkRef(xpFactory)); |
153 return xpFactory; | 155 return xpFactory; |
154 } | 156 } |
155 | 157 |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 | 382 |
381 void setClip(const GrClip& clip) { fClip = clip; } | 383 void setClip(const GrClip& clip) { fClip = clip; } |
382 const GrClip& clip() const { return fClip; } | 384 const GrClip& clip() const { return fClip; } |
383 | 385 |
384 private: | 386 private: |
385 // Calculating invariant color / coverage information is expensive, so we pa
rtially cache the | 387 // Calculating invariant color / coverage information is expensive, so we pa
rtially cache the |
386 // results. | 388 // results. |
387 // | 389 // |
388 // canUseFracCoveragePrimProc() - Called in regular skia draw, caches result
s but only for a | 390 // canUseFracCoveragePrimProc() - Called in regular skia draw, caches result
s but only for a |
389 // specific color and coverage. May be calle
d multiple times | 391 // specific color and coverage. May be calle
d multiple times |
390 // willBlendWithDst() - only called by Nvpr, does not cache results | 392 // willColorBlendWithDst() - only called by Nvpr, does not cache results |
391 // GrOptDrawState constructor - never caches results | 393 // GrOptDrawState constructor - never caches results |
392 | 394 |
393 /** | 395 /** |
394 * Primproc variants of the calc functions | 396 * Primproc variants of the calc functions |
395 * TODO remove these when batch is everywhere | 397 * TODO remove these when batch is everywhere |
396 */ | 398 */ |
397 void calcColorInvariantOutput(const GrPrimitiveProcessor*) const; | 399 void calcColorInvariantOutput(const GrPrimitiveProcessor*) const; |
398 void calcCoverageInvariantOutput(const GrPrimitiveProcessor*) const; | 400 void calcCoverageInvariantOutput(const GrPrimitiveProcessor*) const; |
399 | 401 |
400 /** | 402 /** |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 mutable GrProcOptInfo fCoverageProcInfo; | 436 mutable GrProcOptInfo fCoverageProcInfo; |
435 mutable bool fColorProcInfoValid; | 437 mutable bool fColorProcInfoValid; |
436 mutable bool fCoverageProcInfoValid; | 438 mutable bool fCoverageProcInfoValid; |
437 mutable GrColor fColorCache; | 439 mutable GrColor fColorCache; |
438 mutable GrColor fCoverageCache; | 440 mutable GrColor fCoverageCache; |
439 | 441 |
440 friend class GrPipeline; | 442 friend class GrPipeline; |
441 }; | 443 }; |
442 | 444 |
443 #endif | 445 #endif |
OLD | NEW |