| Index: src/gpu/gl/GrGLPathRendering.h
|
| diff --git a/src/gpu/gl/GrGLPathRendering.h b/src/gpu/gl/GrGLPathRendering.h
|
| index 86cf1b1698ac8aed0e6f3d18d119ffb8a6588ce6..20fd4967b7de0469595b4c2f37c36ba35db48e74 100644
|
| --- a/src/gpu/gl/GrGLPathRendering.h
|
| +++ b/src/gpu/gl/GrGLPathRendering.h
|
| @@ -65,7 +65,34 @@
|
| void onDrawPaths(const DrawPathArgs&, const GrPathRange*, const void* indices, PathIndexType,
|
| const float transformValues[], PathTransformType, int count) override;
|
| private:
|
| + /**
|
| + * Mark certain functionality as not supported if the driver version is too
|
| + * old and a backup implementation is not practical.
|
| + */
|
| + struct Caps {
|
| + bool stencilThenCoverSupport : 1;
|
| + bool fragmentInputGenSupport : 1;
|
| + };
|
| + const Caps& caps() const { return fCaps; }
|
| +
|
| void flushPathStencilSettings(const GrStencilSettings&);
|
| +
|
| + // NV_path_rendering v1.2
|
| + void stencilThenCoverFillPath(GrGLuint path, GrGLenum fillMode,
|
| + GrGLuint mask, GrGLenum coverMode);
|
| +
|
| + void stencilThenCoverStrokePath(GrGLuint path, GrGLint reference,
|
| + GrGLuint mask, GrGLenum coverMode);
|
| +
|
| + void stencilThenCoverFillPathInstanced(
|
| + GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths,
|
| + GrGLuint pathBase, GrGLenum fillMode, GrGLuint mask, GrGLenum coverMode,
|
| + GrGLenum transformType, const GrGLfloat *transformValues);
|
| +
|
| + void stencilThenCoverStrokePathInstanced(
|
| + GrGLsizei numPaths, GrGLenum pathNameType, const GrGLvoid *paths,
|
| + GrGLuint pathBase, GrGLint reference, GrGLuint mask, GrGLenum coverMode,
|
| + GrGLenum transformType, const GrGLfloat *transformValues);
|
|
|
| struct MatrixState {
|
| SkMatrix fViewMatrix;
|
| @@ -101,8 +128,14 @@
|
| GrGLGpu* gpu();
|
|
|
| SkAutoTDelete<GrGLNameAllocator> fPathNameAllocator;
|
| + Caps fCaps;
|
| MatrixState fHWProjectionMatrixState;
|
| GrStencilSettings fHWPathStencilSettings;
|
| + struct PathTexGenData {
|
| + GrGLenum fMode;
|
| + GrGLint fNumComponents;
|
| + GrGLfloat fCoefficients[3 * 3];
|
| + };
|
| };
|
|
|
| #endif
|
|
|