diff options
Diffstat (limited to 'src/gpu/ops')
26 files changed, 126 insertions, 110 deletions
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp index e316fecc5f..79259b4aea 100644 --- a/src/gpu/ops/GrAAConvexPathRenderer.cpp +++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp @@ -747,9 +747,10 @@ private: this->setTransformedBounds(path.getBounds(), viewMatrix, HasAABloat::kYes, IsZeroArea::kNo); } - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrAAFillRectOp.cpp b/src/gpu/ops/GrAAFillRectOp.cpp index 850a3c9739..c6aadb92ed 100644 --- a/src/gpu/ops/GrAAFillRectOp.cpp +++ b/src/gpu/ops/GrAAFillRectOp.cpp @@ -203,9 +203,10 @@ public: } private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(this->first()->color()); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(this->first()->color()); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void onPrepareDraws(Target* target) const override { diff --git a/src/gpu/ops/GrAAHairLinePathRenderer.cpp b/src/gpu/ops/GrAAHairLinePathRenderer.cpp index ec2610400f..494138d7b0 100644 --- a/src/gpu/ops/GrAAHairLinePathRenderer.cpp +++ b/src/gpu/ops/GrAAHairLinePathRenderer.cpp @@ -710,9 +710,10 @@ private: IsZeroArea::kYes); } - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp index bdec758eaf..c9add9d3e9 100644 --- a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp +++ b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp @@ -172,9 +172,10 @@ private: this->setTransformedBounds(bounds, viewMatrix, HasAABloat::kYes, IsZeroArea::kNo); } - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fPaths[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fPaths[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrAAStrokeRectOp.cpp b/src/gpu/ops/GrAAStrokeRectOp.cpp index b684782f23..89739e6116 100644 --- a/src/gpu/ops/GrAAStrokeRectOp.cpp +++ b/src/gpu/ops/GrAAStrokeRectOp.cpp @@ -174,9 +174,10 @@ public: private: AAStrokeRectOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fRects[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fRects[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations&) override; void onPrepareDraws(Target*) const override; diff --git a/src/gpu/ops/GrAnalyticRectOp.cpp b/src/gpu/ops/GrAnalyticRectOp.cpp index 45e20f0dbc..87922cc60c 100644 --- a/src/gpu/ops/GrAnalyticRectOp.cpp +++ b/src/gpu/ops/GrAnalyticRectOp.cpp @@ -269,9 +269,10 @@ public: } private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fGeoData[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fGeoData[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrAtlasTextOp.cpp b/src/gpu/ops/GrAtlasTextOp.cpp index e723bd01f3..f8c5443854 100644 --- a/src/gpu/ops/GrAtlasTextOp.cpp +++ b/src/gpu/ops/GrAtlasTextOp.cpp @@ -46,24 +46,25 @@ SkString GrAtlasTextOp::dumpInfo() const { return str; } -void GrAtlasTextOp::getFragmentProcessorAnalysisInputs( - FragmentProcessorAnalysisInputs* input) const { +void GrAtlasTextOp::getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const { if (kColorBitmapMask_MaskType == fMaskType) { - input->colorInput()->setToUnknown(); + color->setToUnknown(); } else { - input->colorInput()->setToConstant(fColor); + color->setToConstant(fColor); } switch (fMaskType) { case kGrayscaleDistanceField_MaskType: case kGrayscaleCoverageMask_MaskType: - input->coverageInput()->setToUnknown(); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; break; case kLCDCoverageMask_MaskType: case kLCDDistanceField_MaskType: - input->coverageInput()->setToLCDCoverage(); + *coverage = GrPipelineAnalysisCoverage::kLCD; break; case kColorBitmapMask_MaskType: - input->coverageInput()->setToSolidCoverage(); + *coverage = GrPipelineAnalysisCoverage::kNone; + break; } } diff --git a/src/gpu/ops/GrAtlasTextOp.h b/src/gpu/ops/GrAtlasTextOp.h index 699503a8cb..8c08544f7b 100644 --- a/src/gpu/ops/GrAtlasTextOp.h +++ b/src/gpu/ops/GrAtlasTextOp.h @@ -99,7 +99,8 @@ public: SkString dumpInfo() const override; private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs*) const override; + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor*, + GrPipelineAnalysisCoverage*) const override; void applyPipelineOptimizations(const GrPipelineOptimizations&) override; struct FlushInfo { diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp index 1372a8b466..9dfacded7f 100644 --- a/src/gpu/ops/GrDashOp.cpp +++ b/src/gpu/ops/GrDashOp.cpp @@ -296,9 +296,10 @@ private: this->setTransformedBounds(bounds, combinedMatrix, aaBloat, zeroArea); } - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrDefaultPathRenderer.cpp b/src/gpu/ops/GrDefaultPathRenderer.cpp index 300090d40c..62c9d45439 100644 --- a/src/gpu/ops/GrDefaultPathRenderer.cpp +++ b/src/gpu/ops/GrDefaultPathRenderer.cpp @@ -132,9 +132,11 @@ private: isHairline ? IsZeroArea::kYes : IsZeroArea::kNo); } - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fColor); - input->coverageInput()->setToScalar(this->coverage()); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fColor); + *coverage = this->coverage() == 0xff ? GrPipelineAnalysisCoverage::kNone + : GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrDrawAtlasOp.h b/src/gpu/ops/GrDrawAtlasOp.h index cde345ed8e..a39a7a92f2 100644 --- a/src/gpu/ops/GrDrawAtlasOp.h +++ b/src/gpu/ops/GrDrawAtlasOp.h @@ -39,13 +39,14 @@ private: GrDrawAtlasOp(GrColor color, const SkMatrix& viewMatrix, int spriteCount, const SkRSXform* xforms, const SkRect* rects, const SkColor* colors); - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { if (this->hasColors()) { - input->colorInput()->setToUnknown(); + color->setToUnknown(); } else { - input->colorInput()->setToConstant(fGeoData[0].fColor); + color->setToConstant(fGeoData[0].fColor); } - input->coverageInput()->setToSolidCoverage(); + *coverage = GrPipelineAnalysisCoverage::kNone; } void onPrepareDraws(Target*) const override; diff --git a/src/gpu/ops/GrDrawPathOp.h b/src/gpu/ops/GrDrawPathOp.h index 70a543f3e5..b1ce2dfe5a 100644 --- a/src/gpu/ops/GrDrawPathOp.h +++ b/src/gpu/ops/GrDrawPathOp.h @@ -43,8 +43,8 @@ protected: GrPipelineOptimizations initPipeline(const GrOpFlushState&, GrPipeline*); const GrProcessorSet::FragmentProcessorAnalysis& doFragmentProcessorAnalysis( const GrCaps& caps, const GrAppliedClip* clip) { - fProcessorSet.analyzeAndEliminateFragmentProcessors(&fAnalysis, fAnalysis.inputColor(), - GrColor_WHITE, clip, caps); + fProcessorSet.analyzeAndEliminateFragmentProcessors( + &fAnalysis, fAnalysis.inputColor(), GrPipelineAnalysisCoverage::kNone, clip, caps); return fAnalysis; } const GrProcessorSet::FragmentProcessorAnalysis& fragmentProcessorAnalysis() const { diff --git a/src/gpu/ops/GrDrawVerticesOp.cpp b/src/gpu/ops/GrDrawVerticesOp.cpp index 7c59d61e74..d8f91fe946 100644 --- a/src/gpu/ops/GrDrawVerticesOp.cpp +++ b/src/gpu/ops/GrDrawVerticesOp.cpp @@ -75,13 +75,13 @@ GrDrawVerticesOp::GrDrawVerticesOp(sk_sp<SkVertices> vertices, GrPrimitiveType p } void GrDrawVerticesOp::getFragmentProcessorAnalysisInputs( - FragmentProcessorAnalysisInputs* input) const { + GrPipelineAnalysisColor* color, GrPipelineAnalysisCoverage* coverage) const { if (this->requiresPerVertexColors()) { - input->colorInput()->setToUnknown(); + color->setToUnknown(); } else { - input->colorInput()->setToConstant(fMeshes[0].fColor); + color->setToConstant(fMeshes[0].fColor); } - input->coverageInput()->setToSolidCoverage(); + *coverage = GrPipelineAnalysisCoverage::kNone; } void GrDrawVerticesOp::applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) { diff --git a/src/gpu/ops/GrDrawVerticesOp.h b/src/gpu/ops/GrDrawVerticesOp.h index f881d61440..176b552e09 100644 --- a/src/gpu/ops/GrDrawVerticesOp.h +++ b/src/gpu/ops/GrDrawVerticesOp.h @@ -70,7 +70,8 @@ private: GrRenderTargetContext::ColorArrayType, const SkMatrix& viewMatrix, uint32_t flags = 0); - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override; + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override; void applyPipelineOptimizations(const GrPipelineOptimizations&) override; void onPrepareDraws(Target*) const override; diff --git a/src/gpu/ops/GrLatticeOp.cpp b/src/gpu/ops/GrLatticeOp.cpp index a1b758409a..598a83907d 100644 --- a/src/gpu/ops/GrLatticeOp.cpp +++ b/src/gpu/ops/GrLatticeOp.cpp @@ -61,9 +61,10 @@ public: } private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToUnknown(); - input->coverageInput()->setToSolidCoverage(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToUnknown(); + *coverage = GrPipelineAnalysisCoverage::kNone; } void applyPipelineOptimizations(const GrPipelineOptimizations& analysioptimizations) override { diff --git a/src/gpu/ops/GrMSAAPathRenderer.cpp b/src/gpu/ops/GrMSAAPathRenderer.cpp index ccbd0e2452..4e7f0361bf 100644 --- a/src/gpu/ops/GrMSAAPathRenderer.cpp +++ b/src/gpu/ops/GrMSAAPathRenderer.cpp @@ -259,9 +259,10 @@ private: this->setBounds(devBounds, HasAABloat::kNo, IsZeroArea::kNo); } - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fPaths[0].fColor); - input->coverageInput()->setToSolidCoverage(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fPaths[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kNone; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrMeshDrawOp.h b/src/gpu/ops/GrMeshDrawOp.h index 4cf7c52672..cbf1f62eb7 100644 --- a/src/gpu/ops/GrMeshDrawOp.h +++ b/src/gpu/ops/GrMeshDrawOp.h @@ -33,9 +33,10 @@ public: const GrProcessorSet& processors, const GrAppliedClip* appliedClip, const GrCaps& caps) const { - FragmentProcessorAnalysisInputs input; - this->getFragmentProcessorAnalysisInputs(&input); - analysis->init(*input.colorInput(), *input.coverageInput(), processors, appliedClip, caps); + GrPipelineAnalysisColor inputColor; + GrPipelineAnalysisCoverage inputCoverage; + this->getFragmentProcessorAnalysisInputs(&inputColor, &inputCoverage); + analysis->init(inputColor, inputCoverage, processors, appliedClip, caps); } void initPipeline(const GrPipeline::InitArgs& args) { @@ -98,27 +99,13 @@ protected: return &fPipeline; } - /** - * This describes aspects of the GrPrimitiveProcessor produced by a GrDrawOp that are used in - * pipeline analysis. - */ - class FragmentProcessorAnalysisInputs { - public: - FragmentProcessorAnalysisInputs() = default; - GrPipelineInput* colorInput() { return &fColorInput; } - GrPipelineInput* coverageInput() { return &fCoverageInput; } - - private: - GrPipelineInput fColorInput; - GrPipelineInput fCoverageInput; - }; - private: /** * Provides information about the GrPrimitiveProccesor color and coverage outputs which become * inputs to the first color and coverage fragment processors. */ - virtual void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs*) const = 0; + virtual void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor*, + GrPipelineAnalysisCoverage*) const = 0; /** * After GrPipeline analysis is complete this is called so that the op can use the analysis diff --git a/src/gpu/ops/GrNonAAFillRectOp.cpp b/src/gpu/ops/GrNonAAFillRectOp.cpp index a83da15006..ce4b21fada 100644 --- a/src/gpu/ops/GrNonAAFillRectOp.cpp +++ b/src/gpu/ops/GrNonAAFillRectOp.cpp @@ -110,9 +110,10 @@ public: private: NonAAFillRectOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fRects[0].fColor); - input->coverageInput()->setToSolidCoverage(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fRects[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kNone; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrNonAAFillRectPerspectiveOp.cpp b/src/gpu/ops/GrNonAAFillRectPerspectiveOp.cpp index 26a646952f..324ea43ccf 100644 --- a/src/gpu/ops/GrNonAAFillRectPerspectiveOp.cpp +++ b/src/gpu/ops/GrNonAAFillRectPerspectiveOp.cpp @@ -130,9 +130,10 @@ public: private: NonAAFillRectPerspectiveOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fRects[0].fColor); - input->coverageInput()->setToSolidCoverage(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fRects[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kNone; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrNonAAStrokeRectOp.cpp b/src/gpu/ops/GrNonAAStrokeRectOp.cpp index a4de594a69..2f63d96327 100644 --- a/src/gpu/ops/GrNonAAStrokeRectOp.cpp +++ b/src/gpu/ops/GrNonAAStrokeRectOp.cpp @@ -102,9 +102,10 @@ public: private: NonAAStrokeRectOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fColor); - input->coverageInput()->setToSolidCoverage(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fColor); + *coverage = GrPipelineAnalysisCoverage::kNone; } void onPrepareDraws(Target* target) const override { diff --git a/src/gpu/ops/GrOvalOpFactory.cpp b/src/gpu/ops/GrOvalOpFactory.cpp index dbab985a6c..83e783ff2f 100644 --- a/src/gpu/ops/GrOvalOpFactory.cpp +++ b/src/gpu/ops/GrOvalOpFactory.cpp @@ -805,9 +805,10 @@ public: private: CircleOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fGeoData[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fGeoData[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { @@ -1256,9 +1257,10 @@ public: private: EllipseOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fGeoData[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fGeoData[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { @@ -1470,9 +1472,10 @@ public: private: DIEllipseOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fGeoData[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fGeoData[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { @@ -1785,9 +1788,10 @@ public: } private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fGeoData[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fGeoData[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { @@ -2148,9 +2152,10 @@ public: private: EllipticalRRectOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fGeoData[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fGeoData[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrRegionOp.cpp b/src/gpu/ops/GrRegionOp.cpp index 32cb8e4555..0ebec98e8f 100644 --- a/src/gpu/ops/GrRegionOp.cpp +++ b/src/gpu/ops/GrRegionOp.cpp @@ -77,9 +77,10 @@ public: } private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fRegions[0].fColor); - input->coverageInput()->setToSolidCoverage(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fRegions[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kNone; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp index 1381bc93b7..bc1a4cca0a 100644 --- a/src/gpu/ops/GrShadowRRectOp.cpp +++ b/src/gpu/ops/GrShadowRRectOp.cpp @@ -142,9 +142,10 @@ public: private: ShadowCircleOp() : INHERITED(ClassID()) {} - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fCircles[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fCircles[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { @@ -562,9 +563,10 @@ public: } private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fGeoData[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fGeoData[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrSmallPathRenderer.cpp b/src/gpu/ops/GrSmallPathRenderer.cpp index 94364a643b..8d3f7b73ef 100644 --- a/src/gpu/ops/GrSmallPathRenderer.cpp +++ b/src/gpu/ops/GrSmallPathRenderer.cpp @@ -199,9 +199,10 @@ private: } - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fShapes[0].fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fShapes[0].fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrTessellatingPathRenderer.cpp b/src/gpu/ops/GrTessellatingPathRenderer.cpp index d1fd28adf3..914998878c 100644 --- a/src/gpu/ops/GrTessellatingPathRenderer.cpp +++ b/src/gpu/ops/GrTessellatingPathRenderer.cpp @@ -180,9 +180,10 @@ public: } private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { diff --git a/src/gpu/ops/GrTestMeshDrawOp.h b/src/gpu/ops/GrTestMeshDrawOp.h index 039f88d672..a4bf066a34 100644 --- a/src/gpu/ops/GrTestMeshDrawOp.h +++ b/src/gpu/ops/GrTestMeshDrawOp.h @@ -33,9 +33,10 @@ protected: bool usesLocalCoords() const { return fUsesLocalCoords; } private: - void getFragmentProcessorAnalysisInputs(FragmentProcessorAnalysisInputs* input) const override { - input->colorInput()->setToConstant(fColor); - input->coverageInput()->setToUnknown(); + void getFragmentProcessorAnalysisInputs(GrPipelineAnalysisColor* color, + GrPipelineAnalysisCoverage* coverage) const override { + color->setToConstant(fColor); + *coverage = GrPipelineAnalysisCoverage::kSingleChannel; } void applyPipelineOptimizations(const GrPipelineOptimizations& optimizations) override { |