| Index: include/gpu/GrXferProcessor.h
|
| diff --git a/include/gpu/GrXferProcessor.h b/include/gpu/GrXferProcessor.h
|
| index b7d0bdd9fa9ef7717471a3857b9e788e95793378..39dc2120882f7c3d1e31a1519180580fe68ac69c 100644
|
| --- a/include/gpu/GrXferProcessor.h
|
| +++ b/include/gpu/GrXferProcessor.h
|
| @@ -87,6 +87,16 @@ public:
|
| /** Will this prceossor read the destination pixel value? */
|
| bool willReadDstColor() const { return fWillReadDstColor; }
|
|
|
| + /**
|
| + * This function is used to perform optimizations. When called the invarientOuput param
|
| + * indicate whether the input components to this processor in the FS will have known values.
|
| + * In inout the validFlags member is a bitfield of GrColorComponentFlags. The isSingleComponent
|
| + * member indicates whether the input will be 1 or 4 bytes. The function updates the members of
|
| + * inout to indicate known values of its output. A component of the color member only has
|
| + * meaning if the corresponding bit in validFlags is set.
|
| + */
|
| + void computeInvariantOutput(GrInvariantOutput* inout) const;
|
| +
|
| protected:
|
| GrXferProcessor() : fWillReadDstColor(false) {}
|
|
|
| @@ -97,6 +107,11 @@ protected:
|
| */
|
| void setWillReadDstColor() { fWillReadDstColor = true; }
|
|
|
| + /**
|
| + * Subclass implements this to support getConstantColorComponents(...).
|
| + */
|
| + virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const = 0;
|
| +
|
| private:
|
|
|
| bool fWillReadDstColor;
|
|
|