Initial support for GL_NV_path_renering. Experimental, there are still some issues to resolve, set gyp variable skia_nv_path_rendering=1 or build flag GR_GL_USE_NV_PATH_RENDERING to enable.
http://codereview.appspot.com/6349049/
git-svn-id: http://skia.googlecode.com/svn/trunk@4390 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h
index 83d20c6..5c21b55 100644
--- a/src/gpu/GrGpu.h
+++ b/src/gpu/GrGpu.h
@@ -487,8 +487,15 @@
virtual void onGpuDrawNonIndexed(GrPrimitiveType type,
uint32_t vertexCount,
uint32_t numVertices) = 0;
+ // when GrDrawTarget::stencilPath is called the draw state's current stencil
+ // settings are ignored. Instead the GrGpu decides the stencil rules
+ // necessary to stencil the path. These are still subject to filtering by
+ // the clip mask manager.
+ virtual void setStencilPathSettings(const GrPath&,
+ GrPathFill,
+ GrStencilSettings* settings) = 0;
// overridden by API-specific derived class to perform the path stenciling.
- virtual void onGpuStencilPath(const GrPath& path, GrPathFill fill) = 0;
+ virtual void onGpuStencilPath(const GrPath*, GrPathFill) = 0;
// overridden by API-specific derived class to perform flush
virtual void onForceRenderTargetFlush() = 0;
@@ -579,7 +586,7 @@
virtual void onDrawNonIndexed(GrPrimitiveType type,
int startVertex,
int vertexCount) SK_OVERRIDE;
- virtual void onStencilPath(const GrPath& path, GrPathFill fill) SK_OVERRIDE;
+ virtual void onStencilPath(const GrPath* path, GrPathFill fill) SK_OVERRIDE;
// readies the pools to provide vertex/index data.
void prepareVertexPool();