diff options
Diffstat (limited to 'src/gpu/GrProcessorSet.h')
-rw-r--r-- | src/gpu/GrProcessorSet.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/gpu/GrProcessorSet.h b/src/gpu/GrProcessorSet.h index bfad769a18..e584a94709 100644 --- a/src/gpu/GrProcessorSet.h +++ b/src/gpu/GrProcessorSet.h @@ -79,13 +79,16 @@ public: : fIsInitializedWithProcessorSet(false) , fCompatibleWithCoverageAsAlpha(true) , fValidInputColor(false) + , fRequiresDstTexture(false) + , fCanCombineOverlappedStencilAndCover(true) + , fIgnoresInputColor(false) , fOutputCoverageType(static_cast<unsigned>(GrPipelineAnalysisCoverage::kNone)) , fOutputColorType(static_cast<unsigned>(ColorType::kUnknown)) , fInitialColorProcessorsToEliminate(0) {} - // This version is used by a unit test that assumes no clip, no processors, and no PLS. + // This version is used by a unit test that assumes no clip and no fragment processors. FragmentProcessorAnalysis(const GrPipelineAnalysisColor&, GrPipelineAnalysisCoverage, - const GrCaps&); + const GrXPFactory*, const GrCaps&); void init(const GrPipelineAnalysisColor&, GrPipelineAnalysisCoverage, const GrProcessorSet&, const GrAppliedClip*, const GrCaps&); @@ -119,7 +122,12 @@ public: } bool usesLocalCoords() const { return fUsesLocalCoords; } + bool requiresDstTexture() const { return fRequiresDstTexture; } + bool canCombineOverlappedStencilAndCover() const { + return fCanCombineOverlappedStencilAndCover; + } bool isCompatibleWithCoverageAsAlpha() const { return fCompatibleWithCoverageAsAlpha; } + bool isInputColorIgnored() const { return fIgnoresInputColor; } bool isOutputColorOpaque() const { return ColorType::kOpaque == this->outputColorType() || ColorType::kOpaqueConstant == this->outputColorType(); @@ -154,11 +162,17 @@ public: PackedBool fUsesLocalCoords : 1; PackedBool fCompatibleWithCoverageAsAlpha : 1; PackedBool fValidInputColor : 1; + PackedBool fRequiresDstTexture : 1; + PackedBool fCanCombineOverlappedStencilAndCover : 1; + // These could be removed if we created the XP from the XPFactory when doing analysis. + PackedBool fIgnoresInputColor : 1; unsigned fOutputCoverageType : 2; unsigned fOutputColorType : 2; - unsigned fInitialColorProcessorsToEliminate : 32 - 8; + + unsigned fInitialColorProcessorsToEliminate : 32 - 11; GrColor fInputColor; + // This could be removed if we created the XP from the XPFactory when doing analysis. GrColor fKnownOutputColor; friend class GrProcessorSet; |