Chromium Code Reviews| 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 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 356 */ | 356 */ |
| 357 void setDrawFace(DrawFace face) { | 357 void setDrawFace(DrawFace face) { |
| 358 SkASSERT(kInvalid_DrawFace != face); | 358 SkASSERT(kInvalid_DrawFace != face); |
| 359 fDrawFace = face; | 359 fDrawFace = face; |
| 360 } | 360 } |
| 361 | 361 |
| 362 /// @} | 362 /// @} |
| 363 | 363 |
| 364 /////////////////////////////////////////////////////////////////////////// | 364 /////////////////////////////////////////////////////////////////////////// |
| 365 | 365 |
| 366 const GrProcOptInfo& colorProcInfo(const GrDrawBatch* batch) const { | 366 bool usePLSDstRead(const GrDrawBatch* batch) const; |
| 367 this->calcColorInvariantOutput(batch); | |
| 368 return fColorProcInfo; | |
| 369 } | |
| 370 | |
| 371 const GrProcOptInfo& coverageProcInfo(const GrDrawBatch* batch) const { | |
| 372 this->calcCoverageInvariantOutput(batch); | |
| 373 return fCoverageProcInfo; | |
| 374 } | |
| 375 | 367 |
| 376 void setClip(const GrClip& clip) { fClip = clip; } | 368 void setClip(const GrClip& clip) { fClip = clip; } |
| 377 const GrClip& clip() const { return fClip; } | 369 const GrClip& clip() const { return fClip; } |
| 378 | 370 |
| 379 private: | 371 private: |
| 380 // Calculating invariant color / coverage information is expensive, so we pa rtially cache the | 372 // Calculating invariant color / coverage information is expensive, so we pa rtially cache the |
| 381 // results. | 373 // results. |
| 382 // | 374 // |
| 383 // canUseFracCoveragePrimProc() - Called in regular skia draw, caches result s but only for a | 375 // canUseFracCoveragePrimProc() - Called in regular skia draw, caches result s but only for a |
| 384 // specific color and coverage. May be calle d multiple times | 376 // specific color and coverage. May be calle d multiple times |
| 385 // GrOptDrawState constructor - never caches results | 377 // GrOptDrawState constructor - never caches results |
| 386 | 378 |
| 387 /** | 379 /** |
| 388 * GrBatch provides the initial seed for these loops based off of its initia l geometry data | 380 * GrBatch provides the initial seed for these loops based off of its initia l geometry data |
| 389 */ | 381 */ |
| 390 void calcColorInvariantOutput(const GrDrawBatch*) const; | 382 void computeBatchToXPOverrides(GrInitInvariantOutput* color, GrInitInvariant Output* coverage, |
| 391 void calcCoverageInvariantOutput(const GrDrawBatch*) const; | 383 bool* usePLSDstRead) const; |
|
joshualitt
2015/11/23 19:09:29
Remove
| |
| 392 | 384 |
| 393 // Some of the auto restore objects assume that no effects are removed durin g their lifetime. | 385 // Some of the auto restore objects assume that no effects are removed durin g their lifetime. |
| 394 // This is used to assert that this condition holds. | 386 // This is used to assert that this condition holds. |
| 395 SkDEBUGCODE(mutable int fBlockEffectRemovalCnt;) | 387 SkDEBUGCODE(mutable int fBlockEffectRemovalCnt;) |
| 396 | 388 |
| 397 typedef SkSTArray<4, const GrFragmentProcessor*, true> FragmentProcessorArra y; | 389 typedef SkSTArray<4, const GrFragmentProcessor*, true> FragmentProcessorArra y; |
| 398 | 390 |
| 399 SkAutoTUnref<GrRenderTarget> fRenderTarget; | 391 SkAutoTUnref<GrRenderTarget> fRenderTarget; |
| 400 uint32_t fFlags; | 392 uint32_t fFlags; |
| 401 GrStencilSettings fStencilSettings; | 393 GrStencilSettings fStencilSettings; |
| 402 DrawFace fDrawFace; | 394 DrawFace fDrawFace; |
| 403 mutable SkAutoTUnref<const GrXPFactory> fXPFactory; | 395 mutable SkAutoTUnref<const GrXPFactory> fXPFactory; |
| 404 FragmentProcessorArray fColorFragmentProcessors; | 396 FragmentProcessorArray fColorFragmentProcessors; |
| 405 FragmentProcessorArray fCoverageFragmentProcessors; | 397 FragmentProcessorArray fCoverageFragmentProcessors; |
| 406 GrClip fClip; | 398 GrClip fClip; |
| 407 | 399 |
| 408 mutable GrProcOptInfo fColorProcInfo; | |
| 409 mutable GrProcOptInfo fCoverageProcInfo; | |
| 410 | |
| 411 friend class GrPipeline; | 400 friend class GrPipeline; |
| 401 friend class GrDrawTarget; | |
| 412 }; | 402 }; |
| 413 | 403 |
| 414 #endif | 404 #endif |
| OLD | NEW |