aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ops
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/ops')
-rw-r--r--src/gpu/ops/GrAAConvexPathRenderer.cpp7
-rw-r--r--src/gpu/ops/GrAAFillRectOp.cpp7
-rw-r--r--src/gpu/ops/GrAAHairLinePathRenderer.cpp7
-rw-r--r--src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp7
-rw-r--r--src/gpu/ops/GrAAStrokeRectOp.cpp7
-rw-r--r--src/gpu/ops/GrAnalyticRectOp.cpp7
-rw-r--r--src/gpu/ops/GrAtlasTextOp.cpp15
-rw-r--r--src/gpu/ops/GrAtlasTextOp.h3
-rw-r--r--src/gpu/ops/GrDashOp.cpp7
-rw-r--r--src/gpu/ops/GrDefaultPathRenderer.cpp8
-rw-r--r--src/gpu/ops/GrDrawAtlasOp.h9
-rw-r--r--src/gpu/ops/GrDrawPathOp.h4
-rw-r--r--src/gpu/ops/GrDrawVerticesOp.cpp8
-rw-r--r--src/gpu/ops/GrDrawVerticesOp.h3
-rw-r--r--src/gpu/ops/GrLatticeOp.cpp7
-rw-r--r--src/gpu/ops/GrMSAAPathRenderer.cpp7
-rw-r--r--src/gpu/ops/GrMeshDrawOp.h25
-rw-r--r--src/gpu/ops/GrNonAAFillRectOp.cpp7
-rw-r--r--src/gpu/ops/GrNonAAFillRectPerspectiveOp.cpp7
-rw-r--r--src/gpu/ops/GrNonAAStrokeRectOp.cpp7
-rw-r--r--src/gpu/ops/GrOvalOpFactory.cpp35
-rw-r--r--src/gpu/ops/GrRegionOp.cpp7
-rw-r--r--src/gpu/ops/GrShadowRRectOp.cpp14
-rw-r--r--src/gpu/ops/GrSmallPathRenderer.cpp7
-rw-r--r--src/gpu/ops/GrTessellatingPathRenderer.cpp7
-rw-r--r--src/gpu/ops/GrTestMeshDrawOp.h7
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 {