15 std::unique_ptr<GrFragmentProcessor>
const fps[],
17 fCompatibleWithCoverageAsAlpha =
true;
19 fUsesLocalCoords =
false;
20 fWillReadDstColor =
false;
21 fProcessorsToEliminate = 0;
22 fOutputColorKnown = input.
isConstant(&fLastKnownOutputColor);
23 for (
int i = 0; i <
count; ++i) {
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;