Chromium Code Reviews| Index: src/gpu/GrPrimitiveProcessor.h |
| diff --git a/src/gpu/GrPrimitiveProcessor.h b/src/gpu/GrPrimitiveProcessor.h |
| index 467200a86d098316a9226c5c6dcc56db7e14426d..f0cda2a4c90f24f66a8439de84abaa37c8734f84 100644 |
| --- a/src/gpu/GrPrimitiveProcessor.h |
| +++ b/src/gpu/GrPrimitiveProcessor.h |
| @@ -47,6 +47,16 @@ class GrGLSLPrimitiveProcessor; |
| struct GrInitInvariantOutput; |
| +// Describes the state of pixel local storage with respect to the current draw. |
| +enum GrPixelLocalStorageState { |
| + // The draw is actively updating PLS. |
| + kDraw_State, |
|
bsalomon
2016/01/13 19:15:34
The style is that tag after the "_" is the name of
|
| + // The draw is a "finish" operation which is reading from PLS and writing color. |
| + kFinish_State, |
| + // The draw does not use PLS. |
| + kDisabled_State |
| +}; |
| + |
| /* |
| * This class allows the GrPipeline to communicate information about the pipeline to a |
| * GrBatch which should be forwarded to the GrPrimitiveProcessor(s) created by the batch. |
| @@ -199,7 +209,7 @@ public: |
| the object. */ |
| virtual GrGLSLPrimitiveProcessor* createGLSLInstance(const GrGLSLCaps& caps) const = 0; |
| - bool isPathRendering() const { return fIsPathRendering; } |
| + virtual bool isPathRendering() const { return false; } |
| /** |
| * No Local Coord Transformation is needed in the shader, instead transformed local coords will |
| @@ -207,11 +217,17 @@ public: |
| */ |
| virtual bool hasTransformedLocalCoords() const = 0; |
| + virtual GrPixelLocalStorageState getPixelLocalStorageState() const { return kDisabled_State; } |
| + |
| + /** |
| + * If non-null, overrides the dest color returned by GrGLSLFragmentShaderBuilder::dstColor(). |
| + */ |
| + virtual const char* getDestColorOverride() const { return nullptr; } |
| + |
| protected: |
| - GrPrimitiveProcessor(bool isPathRendering) |
| + GrPrimitiveProcessor() |
| : fNumAttribs(0) |
| - , fVertexStride(0) |
| - , fIsPathRendering(isPathRendering) {} |
| + , fVertexStride(0) {} |
| Attribute fAttribs[kMaxVertexAttribs]; |
| int fNumAttribs; |
| @@ -221,8 +237,6 @@ private: |
| void notifyRefCntIsZero() const final {}; |
| virtual bool hasExplicitLocalCoords() const = 0; |
| - bool fIsPathRendering; |
| - |
| typedef GrProcessor INHERITED; |
| }; |