plumb SkInstCnt to all subclasses of GrRefCnt
authorreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 26 Jun 2012 20:16:17 +0000 (20:16 +0000)
committerreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 26 Jun 2012 20:16:17 +0000 (20:16 +0000)
git-svn-id: http://skia.googlecode.com/svn/trunk@4353 2bbb7eff-a529-9590-31e7-b0007b416f81

14 files changed:
include/gpu/GrContext.h
include/gpu/GrFontScaler.h
include/gpu/GrKey.h
include/gpu/GrTextContext.h
src/gpu/GrContext.cpp
src/gpu/GrDrawState.h
src/gpu/GrDrawTarget.cpp
src/gpu/GrDrawTarget.h
src/gpu/GrPathRenderer.cpp
src/gpu/GrPathRenderer.h
src/gpu/GrTextStrike.cpp
src/gpu/SkGpuDevice.cpp
src/gpu/gl/GrGLTexture.cpp
src/gpu/gl/GrGLTexture.h

index 6a6b0841d1e69b867fc616b709821be0f4a20f96..f5b44bf628db0626bfc137c47b0452f3aa33401c 100644 (file)
@@ -36,6 +36,8 @@ class GrSoftwarePathRenderer;
 
 class GR_API GrContext : public GrRefCnt {
 public:
+    SK_DECLARE_INST_COUNT(GrContext)
+
     /**
      * Creates a GrContext from within a 3D context.
      */
@@ -787,6 +789,8 @@ private:
     // Add an existing texture to the texture cache. This is intended solely
     // for use with textures released from an GrAutoScratchTexture.
     void addExistingTextureToCache(GrTexture* texture);
+
+    typedef GrRefCnt INHERITED;
 };
 
 /**
index 657647dea504251d48eaa42f1fbc3cb45b8bc558..a69e91248d9d4d70b591fc1090fadc758701cfd2 100644 (file)
@@ -25,12 +25,17 @@ class SkPath;
  */
 class GrFontScaler : public GrRefCnt {
 public:
+    SK_DECLARE_INST_COUNT(GrFontScaler)
+
     virtual const GrKey* getKey() = 0;
     virtual GrMaskFormat getMaskFormat() = 0;
     virtual bool getPackedGlyphBounds(GrGlyph::PackedID, GrIRect* bounds) = 0;
     virtual bool getPackedGlyphImage(GrGlyph::PackedID, int width, int height,
                                      int rowBytes, void* image) = 0;
     virtual bool getGlyphPath(uint16_t glyphID, SkPath*) = 0;
+
+private:
+    typedef GrRefCnt INHERITED;
 };
 
 #endif
index 813d82d92022748efffbd3d27dbe0439889b16e5..17d00de1b57a07d71af3d87a821d50362d2e0cdd 100644 (file)
@@ -15,6 +15,8 @@
 
 class GrKey : public GrRefCnt {
 public:
+    SK_DECLARE_INST_COUNT(GrKey)
+
     typedef intptr_t Hash;
 
     explicit GrKey(Hash hash) : fHash(hash) {}
@@ -34,6 +36,8 @@ protected:
 
 private:
     const Hash fHash;
+
+    typedef GrRefCnt INHERITED;
 };
 
 #endif
index ab1a34453955d0c389debae565c2255b6a7abe8f..f48b8233e91f60711f2ed4b0573af4e3dca1288d 100644 (file)
@@ -32,6 +32,8 @@ protected:
     GrContext*      fContext;
 
 public:
+    SK_DECLARE_INST_COUNT(GrTextContext)
+
     /**
      * To use a text context it must be wrapped in an AutoFinish. AutoFinish's
      * destructor ensures all drawing is flushed to the GrContext.
index a7d9b670266db232f485cdca3f078d631c1fba2c..076079928b81fb7c682cc5d95dfb88e6cc1a32d2 100644 (file)
@@ -27,6 +27,9 @@
 #include "SkTLS.h"
 #include "SkTrace.h"
 
+SK_DEFINE_INST_COUNT(GrContext)
+SK_DEFINE_INST_COUNT(GrDrawState)
+
 #define DEFER_TEXT_RENDERING 1
 
 #define DEFER_PATHS 1
index 61925cdad785db1483de1eac5ce53584e1cc5071..e4a748fe854d458b0bde2a3dca3fe9199e472d38 100644 (file)
@@ -21,8 +21,9 @@
 
 
 class GrDrawState : public GrRefCnt {
-
 public:
+    SK_DECLARE_INST_COUNT(GrDrawState)
+    
     /**
      * Number of texture stages. Each stage takes as input a color and
      * 2D texture coordinates. The color input to the first enabled stage is the
@@ -879,6 +880,7 @@ private:
     // only compared if the color matrix enable flag is set
     float               fColorMatrix[20];       // 5 x 4 matrix
 
+    typedef GrRefCnt INHERITED;
 };
 
 #endif
index 39ea5bfe3902b8e366a955319b2b4ae8f40aeb43..64dc81527753a12278228cec53e3aec2d6eae4a6 100644 (file)
@@ -15,6 +15,8 @@
 #include "GrTexture.h"
 #include "GrVertexBuffer.h"
 
+SK_DEFINE_INST_COUNT(GrDrawTarget)
+
 namespace {
 
 /**
index f619469f349449d581e8a177ac36c9b3a8ca5cfb..d42a1f9bf8d62627af66c6264865ef4e8f311559 100644 (file)
@@ -27,6 +27,8 @@ class GrVertexBuffer;
 
 class GrDrawTarget : public GrRefCnt {
 public:
+    SK_DECLARE_INST_COUNT(GrDrawTarget)
+
     /**
      * Represents the draw target capabilities.
      */
@@ -1065,7 +1067,8 @@ private:
     };
     SkSTArray<kPreallocGeoSrcStateStackCnt, 
               GeometrySrcState, true>           fGeoSrcStateStack;
-    
+
+    typedef GrRefCnt INHERITED;
 };
 
 GR_MAKE_BITFIELD_OPS(GrDrawTarget::BlendOptFlags);
index 31e06a6b0285ded39c63ce6ae650db69ae2ea245..1daa6c9f2ff31af01dc0635b1f1fc7991f9418be 100644 (file)
@@ -8,6 +8,8 @@
 
 #include "GrPathRenderer.h"
 
+SK_DEFINE_INST_COUNT(GrPathRenderer)
+
 GrPathRenderer::GrPathRenderer() {
 }
 
index 4439f6c3ca8c6211a39dc835efe23e91f8b391cf..32985be4abe64b586dbabdc7b534a1122b3a0088 100644 (file)
@@ -28,6 +28,7 @@ struct GrPoint;
  */
 class GR_API GrPathRenderer : public GrRefCnt {
 public:
+    SK_DECLARE_INST_COUNT(GrPathRenderer)
 
     /**
      * This is called to install custom path renderers in every GrContext at
index b8762adc112b9bb012550bebde126b980e4253d0..e61c46e3b8bbb26887084b7a25120b763e279e6d 100644 (file)
 #include "GrTextStrike_impl.h"
 #include "GrRect.h"
 
+SK_DEFINE_INST_COUNT(GrFontScaler)
+SK_DEFINE_INST_COUNT(GrKey)
+
+///////////////////////////////////////////////////////////////////////////////
+
 GrFontCache::GrFontCache(GrGpu* gpu) : fGpu(gpu) {
     gpu->ref();
     fAtlasMgr = NULL;
index d3ca0b50058cf2959d173244011887c5a096bdae..c033f01e15fe040bc3b5a1a8484dbca30db637bb 100644 (file)
@@ -23,6 +23,8 @@
 #include "SkTLazy.h"
 #include "SkUtils.h"
 
+SK_DEFINE_INST_COUNT(GrTextContext)
+
 #define CACHE_COMPATIBLE_DEVICE_TEXTURES 1
 
 #if 0
index 476d3e7e41aa0f6fdce3171938d7b79ca0500b84..9c6743a3b897e2f9f79100e9a147732ed9665cbb 100644 (file)
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-
 #include "GrGLTexture.h"
-
 #include "GrGpuGL.h"
 
+SK_DEFINE_INST_COUNT(GrGLTexID)
+
 #define GPUGL static_cast<GrGpuGL*>(getGpu())
 
 #define GL_CALL(X) GR_GL_CALL(GPUGL->glInterface(), X)
index e408e5db94b73e30d1973046d523e934f23556d2..8e8c8c5da4dc47bdc781ae3733806c531d3e67f9 100644 (file)
@@ -16,8 +16,9 @@
  * A ref counted tex id that deletes the texture in its destructor.
  */
 class GrGLTexID : public GrRefCnt {
-
 public:
+    SK_DECLARE_INST_COUNT(GrGLTexID)
+
     GrGLTexID(const GrGLInterface* gl, GrGLuint texID, bool ownsID)
         : fGL(gl)
         , fTexID(texID)
@@ -37,6 +38,8 @@ private:
     const GrGLInterface* fGL;
     GrGLuint             fTexID;
     bool                 fOwnsID;
+
+    typedef GrRefCnt INHERITED;
 };
 
 ////////////////////////////////////////////////////////////////////////////////