| OLD | NEW | 
|---|
| 1 | 1 | 
| 2 /* | 2 /* | 
| 3  * Copyright 2014 Google Inc. | 3  * Copyright 2014 Google Inc. | 
| 4  * | 4  * | 
| 5  * Use of this source code is governed by a BSD-style license that can be | 5  * Use of this source code is governed by a BSD-style license that can be | 
| 6  * found in the LICENSE file. | 6  * found in the LICENSE file. | 
| 7  */ | 7  */ | 
| 8 | 8 | 
| 9 #ifndef GrResourceCache_DEFINED | 9 #ifndef GrResourceCache_DEFINED | 
| 10 #define GrResourceCache_DEFINED | 10 #define GrResourceCache_DEFINED | 
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 175      * provided here will be passed back to the callback. Note that the cache wi
     ll attempt to purge | 175      * provided here will be passed back to the callback. Note that the cache wi
     ll attempt to purge | 
| 176      * any resources newly freed by the callback. | 176      * any resources newly freed by the callback. | 
| 177      */ | 177      */ | 
| 178     void setOverBudgetCallback(PFOverBudgetCB overBudgetCB, void* data) { | 178     void setOverBudgetCallback(PFOverBudgetCB overBudgetCB, void* data) { | 
| 179         fOverBudgetCB = overBudgetCB; | 179         fOverBudgetCB = overBudgetCB; | 
| 180         fOverBudgetData = data; | 180         fOverBudgetData = data; | 
| 181     } | 181     } | 
| 182 | 182 | 
| 183     void notifyFlushOccurred(); | 183     void notifyFlushOccurred(); | 
| 184 | 184 | 
| 185 #if GR_GPU_STATS | 185 #if GR_CACHE_STATS | 
|  | 186     struct Stats { | 
|  | 187         int fTotal; | 
|  | 188         int fNumPurgeable; | 
|  | 189         int fNumNonPurgeable; | 
|  | 190 | 
|  | 191         int fScratch; | 
|  | 192         int fExternal; | 
|  | 193         int fBorrowed; | 
|  | 194         int fAdopted; | 
|  | 195         size_t fUnbudgetedSize; | 
|  | 196 | 
|  | 197         Stats() { this->reset(); } | 
|  | 198 | 
|  | 199         void reset() { | 
|  | 200             fTotal = 0; | 
|  | 201             fNumPurgeable = 0; | 
|  | 202             fNumNonPurgeable = 0; | 
|  | 203             fScratch = 0; | 
|  | 204             fExternal = 0; | 
|  | 205             fBorrowed = 0; | 
|  | 206             fAdopted = 0; | 
|  | 207             fUnbudgetedSize = 0; | 
|  | 208         } | 
|  | 209 | 
|  | 210         void update(GrGpuResource* resource) { | 
|  | 211             if (resource->cacheAccess().isScratch()) { | 
|  | 212                 ++fScratch; | 
|  | 213             } | 
|  | 214             if (resource->cacheAccess().isExternal()) { | 
|  | 215                 ++fExternal; | 
|  | 216             } | 
|  | 217             if (resource->cacheAccess().isBorrowed()) { | 
|  | 218                 ++fBorrowed; | 
|  | 219             } | 
|  | 220             if (resource->cacheAccess().isAdopted()) { | 
|  | 221                 ++fAdopted; | 
|  | 222             } | 
|  | 223             if (!resource->resourcePriv().isBudgeted()) { | 
|  | 224                 fUnbudgetedSize += resource->gpuMemorySize(); | 
|  | 225             } | 
|  | 226         } | 
|  | 227     }; | 
|  | 228 | 
|  | 229     void getStats(Stats*) const; | 
|  | 230 | 
| 186     void dumpStats(SkString*) const; | 231     void dumpStats(SkString*) const; | 
| 187 #endif | 232 #endif | 
| 188 | 233 | 
| 189     // This function is for unit testing and is only defined in test tools. | 234     // This function is for unit testing and is only defined in test tools. | 
| 190     void changeTimestamp(uint32_t newTimestamp); | 235     void changeTimestamp(uint32_t newTimestamp); | 
| 191 | 236 | 
| 192     // Enumerates all cached resources and dumps their details to traceMemoryDum
     p. | 237     // Enumerates all cached resources and dumps their details to traceMemoryDum
     p. | 
| 193     void dumpMemoryStatistics(SkTraceMemoryDump* traceMemoryDump) const; | 238     void dumpMemoryStatistics(SkTraceMemoryDump* traceMemoryDump) const; | 
| 194 | 239 | 
| 195 private: | 240 private: | 
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 384 | 429 | 
| 385     friend class GrGpuResource; // To access all the proxy inline methods. | 430     friend class GrGpuResource; // To access all the proxy inline methods. | 
| 386     friend class GrResourceCache; // To create this type. | 431     friend class GrResourceCache; // To create this type. | 
| 387 }; | 432 }; | 
| 388 | 433 | 
| 389 inline GrResourceCache::ResourceAccess GrResourceCache::resourceAccess() { | 434 inline GrResourceCache::ResourceAccess GrResourceCache::resourceAccess() { | 
| 390     return ResourceAccess(this); | 435     return ResourceAccess(this); | 
| 391 } | 436 } | 
| 392 | 437 | 
| 393 #endif | 438 #endif | 
| OLD | NEW | 
|---|