Index: src/gpu/gl/GrGpuGL.h |
diff --git a/src/gpu/gl/GrGpuGL.h b/src/gpu/gl/GrGpuGL.h |
index b39aedb82417f273e552c7adf53dbf463eb207ab..e67197219d8c389b26c128342c6fb2f639777f86 100644 |
--- a/src/gpu/gl/GrGpuGL.h |
+++ b/src/gpu/gl/GrGpuGL.h |
@@ -24,7 +24,7 @@ |
#define PROGRAM_CACHE_STATS |
#endif |
-class GrGLPathRendering; |
+class GrGLNameAllocator; |
class GrGpuGL : public GrGpu { |
public: |
@@ -39,11 +39,6 @@ |
GrGLVersion glVersion() const { return fGLContext.version(); } |
GrGLSLGeneration glslGeneration() const { return fGLContext.glslGeneration(); } |
const GrGLCaps& glCaps() const { return *fGLContext.caps(); } |
- |
- GrGLPathRendering* pathRendering() const { |
- SkASSERT(glCaps().pathRenderingSupport()); |
- return fPathRendering.get(); |
- } |
virtual void discard(GrRenderTarget*) SK_OVERRIDE; |
@@ -108,6 +103,11 @@ |
void notifyIndexBufferDelete(GrGLuint id) { |
fHWGeometryState.notifyIndexBufferDelete(id); |
} |
+ |
+ // These functions should be used to generate and delete GL path names. They have their own |
+ // allocator that runs on the client side, so they are much faster than going through GenPaths. |
+ GrGLuint createGLPathObject(); |
+ void deleteGLPathObject(GrGLuint); |
protected: |
virtual bool onCopySurface(GrSurface* dst, |
@@ -470,7 +470,7 @@ |
// from our loop that tries stencil formats and calls check fb status. |
int fLastSuccessfulStencilFmtIdx; |
- SkAutoTDelete<GrGLPathRendering> fPathRendering; |
+ SkAutoTDelete<GrGLNameAllocator> fPathNameAllocator; |
typedef GrGpu INHERITED; |
}; |