Index: src/gpu/GrProcessor.cpp |
diff --git a/src/gpu/GrProcessor.cpp b/src/gpu/GrProcessor.cpp |
index ccd4d7f7e86bae2bb64350f8839991ae24000cc8..6db8557c81899d016d764f19eaecaa83e389e969 100644 |
--- a/src/gpu/GrProcessor.cpp |
+++ b/src/gpu/GrProcessor.cpp |
@@ -145,10 +145,6 @@ bool GrProcessor::hasSameTextureAccesses(const GrProcessor& that) const { |
return true; |
} |
-void GrProcessor::computeInvariantOutput(GrInvariantOutput* inout) const { |
- this->onComputeInvariantOutput(inout); |
-} |
- |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
void GrFragmentProcessor::addCoordTransform(const GrCoordTransform* transform) { |
@@ -169,10 +165,44 @@ bool GrFragmentProcessor::hasSameTransforms(const GrFragmentProcessor& that) con |
return true; |
} |
+void GrFragmentProcessor::computeInvariantOutput(GrInvariantOutput* inout) const { |
+ this->onComputeInvariantOutput(inout); |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////////////////////////// |
+ |
+void GrGeometryProcessor::computeOutputColor(GrInitInvariantOutput* out) const { |
+ if (fHasVertexColor) { |
+ out->setUnknown(); |
+ } else { |
+ out->setKnownComponents(fColor); |
+ } |
+ out->setHasFourComponents(); |
+ this->onComputeOutputColor(out); |
+} |
+ |
+void GrGeometryProcessor::computeOutputCoverage(GrInitInvariantOutput* out) const { |
+ out->fValidFlags = kRGBA_GrColorComponentFlags; |
+ out->fColor = GrColorPackRGBA(fCoverage, fCoverage, fCoverage, fCoverage); |
+ out->setIsSingleComponent(); |
+ if (fHasVertexCoverage) { |
+ out->setUnknown(); |
+ } |
+ this->onComputeOutputCoverage(out); |
+} |
+ |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
-void GrGeometryProcessor::computeInvariantColor(GrInvariantOutput* intout) const { |
+void GrPathProcessor::computeOutputColor(GrInitInvariantOutput* out) const { |
+ out->fValidFlags = kRGBA_GrColorComponentFlags; |
+ out->fColor = fColor; |
+ out->fIsSingleComponent = false; |
+} |
+void GrPathProcessor::computeOutputCoverage(GrInitInvariantOutput* out) const { |
+ out->fValidFlags = kRGBA_GrColorComponentFlags; |
+ out->fColor = fColor; |
+ out->fIsSingleComponent = true; |
} |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
@@ -194,3 +224,9 @@ void GrGeometryData::operator delete(void* target) { |
int32_t GrXPFactory::gCurrXPFClassID = |
GrXPFactory::kIllegalXPFClassID; |
+/////////////////////////////////////////////////////////////////////////////////////////////////// |
+ |
+void GrXferProcessor::computeInvariantOutput(GrInvariantOutput* inout) const { |
+ this->onComputeInvariantOutput(inout); |
+} |
+ |