| Index: include/gpu/GrXferProcessor.h
|
| diff --git a/include/gpu/GrXferProcessor.h b/include/gpu/GrXferProcessor.h
|
| index 80e375c03c36279fb1c9f68f07a8b0dc9b6d5492..98585c6a5374b311ef532b352567c158a26977eb 100644
|
| --- a/include/gpu/GrXferProcessor.h
|
| +++ b/include/gpu/GrXferProcessor.h
|
| @@ -180,13 +180,21 @@ public:
|
| virtual bool canApplyCoverage(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI,
|
| bool colorWriteDisabled) const = 0;
|
|
|
| - /**
|
| - * This function returns true if the destination pixel values will be read for blending during
|
| - * draw.
|
| +
|
| + struct InvariantOutput {
|
| + bool fWillBlendWithDst;
|
| + GrColor fBlendedColor;
|
| + uint32_t fBlendedColorFlags;
|
| + };
|
| +
|
| + /**
|
| + * This function returns known information about the output of the xfer processor produced by
|
| + * this xp factory. The invariant color information returned by this function refers to the
|
| + * final color produced after all blending.
|
| */
|
| // TODO: remove need for colorWriteDisabled once only XP can read dst.
|
| - virtual bool willBlendWithDst(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI,
|
| - bool colorWriteDisabled) const = 0;
|
| + virtual void getInvariantOutput(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI,
|
| + bool colorWriteDisabled, InvariantOutput*) const = 0;
|
|
|
| /**
|
| * Determines whether multiplying the computed per-pixel color by the pixel's fractional
|
| @@ -195,10 +203,6 @@ public:
|
| */
|
| virtual bool canTweakAlphaForCoverage() const = 0;
|
|
|
| - virtual bool getOpaqueAndKnownColor(const GrProcOptInfo& colorPOI,
|
| - const GrProcOptInfo& coveragePOI, GrColor* solidColor,
|
| - uint32_t* solidColorKnownComponents) const = 0;
|
| -
|
| bool isEqual(const GrXPFactory& that) const {
|
| if (this->classID() != that.classID()) {
|
| return false;
|
|
|