Allow cache tracking to be enabled in release

https://codereview.appspot.com/6500057/



git-svn-id: http://skia.googlecode.com/svn/trunk@5365 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp
index feee33d..f13d99f 100644
--- a/gm/gmmain.cpp
+++ b/gm/gmmain.cpp
@@ -1151,7 +1151,7 @@
 
 #if SK_SUPPORT_GPU
 
-#if SK_DEBUG
+#if GR_CACHE_STATS
     for (int i = 0; i < configs.count(); i++) {
         ConfigData config = gRec[configs[i]];
 
diff --git a/include/gpu/GrConfig.h b/include/gpu/GrConfig.h
index 327dbb4..c61c34e 100644
--- a/include/gpu/GrConfig.h
+++ b/include/gpu/GrConfig.h
@@ -11,6 +11,8 @@
 #ifndef GrConfig_DEFINED
 #define GrConfig_DEFINED
 
+#include "SkTypes.h"
+
 ///////////////////////////////////////////////////////////////////////////////
 // preconfig section:
 //
@@ -48,6 +50,9 @@
 #if !defined(GR_QNX_BUILD)
     #define GR_QNX_BUILD        0
 #endif
+#if !defined(GR_CACHE_STATS)
+    #define GR_CACHE_STATS      0
+#endif
 
 /**
  *  If no build target has been defined, attempt to infer.
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
index d4657a7..f456a81 100644
--- a/include/gpu/GrContext.h
+++ b/include/gpu/GrContext.h
@@ -10,6 +10,7 @@
 #ifndef GrContext_DEFINED
 #define GrContext_DEFINED
 
+#include "GrConfig.h"
 #include "GrPaint.h"
 #include "GrAARectRenderer.h"
 #include "GrClipData.h"
@@ -775,7 +776,7 @@
                                     bool antiAlias,
                                     bool allowSW);
 
-#ifdef GR_DEBUG
+#if GR_CACHE_STATS
     void printCacheStats() const;
 #endif
 
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index 6a4a557..2c724b5 100644
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -1964,7 +1964,7 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-#if GR_DEBUG
+#if GR_CACHE_STATS
 void GrContext::printCacheStats() const {
     fTextureCache->printStats();
 }
diff --git a/src/gpu/GrResourceCache.cpp b/src/gpu/GrResourceCache.cpp
index 3a3bd73..ee127c8 100644
--- a/src/gpu/GrResourceCache.cpp
+++ b/src/gpu/GrResourceCache.cpp
@@ -68,7 +68,7 @@
 GrResourceCache::GrResourceCache(int maxCount, size_t maxBytes) :
         fMaxCount(maxCount),
         fMaxBytes(maxBytes) {
-#if GR_DEBUG
+#if GR_CACHE_STATS
     fHighWaterEntryCount          = 0;
     fHighWaterUnlockedEntryCount  = 0;
     fHighWaterEntryBytes          = 0;
@@ -137,7 +137,7 @@
         fClientDetachedCount += 1;
         fClientDetachedBytes += entry->resource()->sizeInBytes();
 
-#if GR_DEBUG
+#if GR_CACHE_STATS
         if (fHighWaterClientDetachedCount < fClientDetachedCount) {
             fHighWaterClientDetachedCount = fClientDetachedCount;
         }
@@ -158,7 +158,7 @@
 
     if (!entry->isLocked()) {
         ++fUnlockedEntryCount;
-#if GR_DEBUG
+#if GR_CACHE_STATS
         if (fHighWaterUnlockedEntryCount < fUnlockedEntryCount) {
             fHighWaterUnlockedEntryCount = fUnlockedEntryCount;
         }
@@ -173,7 +173,7 @@
         fEntryCount += 1;
         fEntryBytes += entry->resource()->sizeInBytes();
 
-#if GR_DEBUG
+#if GR_CACHE_STATS
         if (fHighWaterEntryCount < fEntryCount) {
             fHighWaterEntryCount = fEntryCount;
         }
@@ -308,7 +308,7 @@
     entry->unlock();
     if (!entry->isLocked()) {
         ++fUnlockedEntryCount;
-#if GR_DEBUG
+#if GR_CACHE_STATS
         if (fHighWaterUnlockedEntryCount < fUnlockedEntryCount) {
             fHighWaterUnlockedEntryCount = fUnlockedEntryCount;
         }
@@ -472,6 +472,9 @@
 
     GrAssert(fExclusiveList.countEntries() == fClientDetachedCount);
 }
+#endif // GR_DEBUG
+
+#if GR_CACHE_STATS
 
 void GrResourceCache::printStats() const {
     SkDebugf("Budget: %d items %d bytes\n", fMaxCount, fMaxBytes);
diff --git a/src/gpu/GrResourceCache.h b/src/gpu/GrResourceCache.h
index 00e62ea..bfa528d 100644
--- a/src/gpu/GrResourceCache.h
+++ b/src/gpu/GrResourceCache.h
@@ -11,6 +11,7 @@
 #ifndef GrResourceCache_DEFINED
 #define GrResourceCache_DEFINED
 
+#include "GrConfig.h"
 #include "GrTypes.h"
 #include "GrTHashCache.h"
 #include "SkTDLinkedList.h"
@@ -297,11 +298,14 @@
 
 #if GR_DEBUG
     void validate() const;
-    void printStats() const;
 #else
     void validate() const {}
 #endif
 
+#if GR_CACHE_STATS
+    void printStats() const;
+#endif
+
 private:
     void internalDetach(GrResourceEntry*, bool);
     void attachToHead(GrResourceEntry*, bool);
@@ -326,7 +330,7 @@
     size_t fMaxBytes;
 
     // our current stats, related to our budget
-#if GR_DEBUG
+#if GR_CACHE_STATS
     int fHighWaterEntryCount;
     int fHighWaterUnlockedEntryCount;
     size_t fHighWaterEntryBytes;