15 std::unique_ptr<GrFragmentProcessor>
const fps[],
17 fCompatibleWithCoverageAsAlpha =
true;
19 fUsesLocalCoords =
false;
20 fWillReadDstColor =
false;
21 fProcessorsToEliminate = 0;
22 fOutputColorKnown = input.
isConstant(&fLastKnownOutputColor);
25 if (fOutputColorKnown &&
fp->hasConstantOutputForConstantInput(fLastKnownOutputColor,
26 &fLastKnownOutputColor)) {
27 ++fProcessorsToEliminate;
28 fIsOpaque = fLastKnownOutputColor.
isOpaque();
30 fCompatibleWithCoverageAsAlpha =
true;
31 fUsesLocalCoords =
false;
32 fWillReadDstColor =
false;
36 fOutputColorKnown =
false;
37 if (fIsOpaque && !
fp->preservesOpaqueInput()) {
40 if (fCompatibleWithCoverageAsAlpha && !
fp->compatibleWithCoverageAsAlpha()) {
41 fCompatibleWithCoverageAsAlpha =
false;
43 if (
fp->usesSampleCoords()) {
44 fUsesLocalCoords =
true;
46 if (
fp->willReadDstColor()) {
47 fWillReadDstColor =
true;
const GrShaderCaps * shaderCaps() const
bool requiresDstTexture(const GrCaps &caps) const
bool willReadDstColor() const
GrColorFragmentProcessorAnalysis()=delete
bool isConstant(SkPMColor4f *color=nullptr) const
bool fDstReadInShaderSupport