Chromium Code Reviews| Index: include/gpu/GrXferProcessor.h |
| diff --git a/include/gpu/GrXferProcessor.h b/include/gpu/GrXferProcessor.h |
| index 98585c6a5374b311ef532b352567c158a26977eb..2c9961fc6b625cc231fd001aa1f9270f00910e69 100644 |
| --- a/include/gpu/GrXferProcessor.h |
| +++ b/include/gpu/GrXferProcessor.h |
| @@ -86,18 +86,19 @@ public: |
| * A caller who calls this function on a XP is required to honor the returned OptFlags |
| * and color values for its draw. |
| */ |
| - // TODO: remove need for colorWriteDisabled once colorWriteDisabled is its own XP. |
| virtual OptFlags getOptimizations(const GrProcOptInfo& colorPOI, |
| const GrProcOptInfo& coveragePOI, |
| - bool colorWriteDisabled, |
| bool doesStencilWrite, |
| GrColor* overrideColor, |
| const GrDrawTargetCaps& caps) = 0; |
| struct BlendInfo { |
| + BlendInfo() : fWriteColor(true) {} |
| + |
| GrBlendCoeff fSrcBlend; |
| GrBlendCoeff fDstBlend; |
| GrColor fBlendConstant; |
| + bool fWriteColor; |
| }; |
| virtual void getBlendInfo(BlendInfo* blendInfo) const = 0; |
| @@ -176,9 +177,8 @@ public: |
| * certain state information (colorWriteDisabled) to determine whether |
| * coverage can be handled correctly. |
| */ |
| - // TODO: remove need for colorWriteDisabled once colorWriteDisabled is its own XP. |
| - virtual bool canApplyCoverage(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI, |
| - bool colorWriteDisabled) const = 0; |
| + virtual bool canApplyCoverage(const GrProcOptInfo& colorPOI, |
|
bsalomon
2014/12/19 16:40:34
does it fit on one line? :)
egdaniel
2014/12/19 19:53:45
Nope
|
| + const GrProcOptInfo& coveragePOI) const = 0; |
| struct InvariantOutput { |
| @@ -192,9 +192,8 @@ public: |
| * 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 void getInvariantOutput(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI, |
| - bool colorWriteDisabled, InvariantOutput*) const = 0; |
| + InvariantOutput*) const = 0; |
| /** |
| * Determines whether multiplying the computed per-pixel color by the pixel's fractional |
| @@ -203,6 +202,14 @@ public: |
| */ |
| virtual bool canTweakAlphaForCoverage() const = 0; |
| + /** |
| + * Returns true if the XP generated by this factory will read dst. |
| + */ |
| + // TODO: Currently this function must also check if the color/coverage stages read dst. |
| + // Once only XP's can read dst we can remove the ProcOptInfo's from this function. |
| + virtual bool willReadDst(const GrProcOptInfo& colorPOI, |
|
bsalomon
2014/12/19 16:40:34
At first I thought this was a reintroduction of th
egdaniel
2014/12/19 19:53:45
So the fact that it is even checking Fragment shad
|
| + const GrProcOptInfo& coveragePOI) const = 0; |
| + |
| bool isEqual(const GrXPFactory& that) const { |
| if (this->classID() != that.classID()) { |
| return false; |