Index: src/gpu/gl/GrGpuGL.h |
diff --git a/src/gpu/gl/GrGpuGL.h b/src/gpu/gl/GrGpuGL.h |
index f548af5f6aabd4cecd853f1c6af289287e478b46..f8541cff8686d8df518993cd2166d3bcc4e99166 100644 |
--- a/src/gpu/gl/GrGpuGL.h |
+++ b/src/gpu/gl/GrGpuGL.h |
@@ -26,6 +26,8 @@ |
#define PROGRAM_CACHE_STATS |
#endif |
+class GrGLNameAllocator; |
+ |
class GrGpuGL : public GrGpu { |
public: |
GrGpuGL(const GrGLContext& ctx, GrContext* context); |
@@ -106,6 +108,11 @@ public: |
void notifyTextureDelete(GrGLTexture* texture); |
void notifyRenderTargetDelete(GrRenderTarget* renderTarget); |
+ // 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, |
GrSurface* src, |
@@ -459,6 +466,8 @@ private: |
// from our loop that tries stencil formats and calls check fb status. |
int fLastSuccessfulStencilFmtIdx; |
+ SkAutoTDelete<GrGLNameAllocator> fPathNameAllocator; |
+ |
typedef GrGpu INHERITED; |
}; |