| Index: src/gpu/GrPrimitiveProcessor.h
|
| diff --git a/src/gpu/GrPrimitiveProcessor.h b/src/gpu/GrPrimitiveProcessor.h
|
| index 467200a86d098316a9226c5c6dcc56db7e14426d..c1e946db20747553f70d513f511c0b1c770245b1 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_GrPixelLocalStorageState,
|
| + // The draw is a "finish" operation which is reading from PLS and writing color.
|
| + kFinish_GrPixelLocalStorageState,
|
| + // The draw does not use PLS.
|
| + kDisabled_GrPixelLocalStorageState
|
| +};
|
| +
|
| /*
|
| * 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,19 @@ public:
|
| */
|
| virtual bool hasTransformedLocalCoords() const = 0;
|
|
|
| + virtual GrPixelLocalStorageState getPixelLocalStorageState() const {
|
| + return kDisabled_GrPixelLocalStorageState;
|
| + }
|
| +
|
| + /**
|
| + * 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 +239,6 @@ private:
|
| void notifyRefCntIsZero() const final {};
|
| virtual bool hasExplicitLocalCoords() const = 0;
|
|
|
| - bool fIsPathRendering;
|
| -
|
| typedef GrProcessor INHERITED;
|
| };
|
|
|
|
|