diff options
Diffstat (limited to 'src/gpu/GrProcessor.cpp')
-rw-r--r-- | src/gpu/GrProcessor.cpp | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/src/gpu/GrProcessor.cpp b/src/gpu/GrProcessor.cpp index 2bcd9b46a2..c937c2ec1a 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,33 @@ bool GrFragmentProcessor::hasSameTransforms(const GrFragmentProcessor& that) con return true; } +void GrFragmentProcessor::computeInvariantOutput(GrInvariantOutput* inout) const { + this->onComputeInvariantOutput(inout); +} + /////////////////////////////////////////////////////////////////////////////////////////////////// -void GrGeometryProcessor::computeInvariantColor(GrInvariantOutput* intout) const { +void GrGeometryProcessor::getInvariantOutputColor(GrInitInvariantOutput* out) const { + if (fHasVertexColor) { + out->setUnknownFourComponents(); + } else { + out->setKnownFourComponents(fColor); + } + this->onGetInvariantOutputColor(out); +} +void GrGeometryProcessor::getInvariantOutputCoverage(GrInitInvariantOutput* out) const { + this->onGetInvariantOutputCoverage(out); +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +void GrPathProcessor::getInvariantOutputColor(GrInitInvariantOutput* out) const { + out->setKnownFourComponents(fColor); +} + +void GrPathProcessor::getInvariantOutputCoverage(GrInitInvariantOutput* out) const { + out->setKnownSingleComponent(0xff); } /////////////////////////////////////////////////////////////////////////////////////////////////// @@ -193,4 +212,3 @@ void GrGeometryData::operator delete(void* target) { // Initial static variable from GrXPFactory int32_t GrXPFactory::gCurrXPFClassID = GrXPFactory::kIllegalXPFClassID; - |