| 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 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 */ | 164 */ |
| 165 void setOverBudgetCallback(PFOverBudgetCB overBudgetCB, void* data) { | 165 void setOverBudgetCallback(PFOverBudgetCB overBudgetCB, void* data) { |
| 166 fOverBudgetCB = overBudgetCB; | 166 fOverBudgetCB = overBudgetCB; |
| 167 fOverBudgetData = data; | 167 fOverBudgetData = data; |
| 168 } | 168 } |
| 169 | 169 |
| 170 #if GR_GPU_STATS | 170 #if GR_GPU_STATS |
| 171 void dumpStats(SkString*) const; | 171 void dumpStats(SkString*) const; |
| 172 #endif | 172 #endif |
| 173 | 173 |
| 174 // This function is for unit testing and is only defined in test tools. |
| 175 void changeTimestamp(uint32_t newTimestamp); |
| 176 |
| 174 private: | 177 private: |
| 175 /////////////////////////////////////////////////////////////////////////// | 178 /////////////////////////////////////////////////////////////////////////// |
| 176 /// @name Methods accessible via ResourceAccess | 179 /// @name Methods accessible via ResourceAccess |
| 177 //// | 180 //// |
| 178 void insertResource(GrGpuResource*); | 181 void insertResource(GrGpuResource*); |
| 179 void removeResource(GrGpuResource*); | 182 void removeResource(GrGpuResource*); |
| 180 void notifyPurgeable(GrGpuResource*); | 183 void notifyPurgeable(GrGpuResource*); |
| 181 void didChangeGpuMemorySize(const GrGpuResource*, size_t oldSize); | 184 void didChangeGpuMemorySize(const GrGpuResource*, size_t oldSize); |
| 182 void changeUniqueKey(GrGpuResource*, const GrUniqueKey&); | 185 void changeUniqueKey(GrGpuResource*, const GrUniqueKey&); |
| 183 void removeUniqueKey(GrGpuResource*); | 186 void removeUniqueKey(GrGpuResource*); |
| 184 void willRemoveScratchKey(const GrGpuResource*); | 187 void willRemoveScratchKey(const GrGpuResource*); |
| 185 void didChangeBudgetStatus(GrGpuResource*); | 188 void didChangeBudgetStatus(GrGpuResource*); |
| 186 void refAndMakeResourceMRU(GrGpuResource*); | 189 void refAndMakeResourceMRU(GrGpuResource*); |
| 187 /// @} | 190 /// @} |
| 188 | 191 |
| 189 void internalPurgeAsNeeded(); | 192 void internalPurgeAsNeeded(); |
| 190 void processInvalidUniqueKeys(const SkTArray<GrUniqueKeyInvalidatedMessage>&
); | 193 void processInvalidUniqueKeys(const SkTArray<GrUniqueKeyInvalidatedMessage>&
); |
| 191 void addToNonpurgeableArray(GrGpuResource*); | 194 void addToNonpurgeableArray(GrGpuResource*); |
| 192 void removeFromNonpurgeableArray(GrGpuResource*); | 195 void removeFromNonpurgeableArray(GrGpuResource*); |
| 193 bool overBudget() const { return fBudgetedBytes > fMaxBytes || fBudgetedCoun
t > fMaxCount; } | 196 bool overBudget() const { return fBudgetedBytes > fMaxBytes || fBudgetedCoun
t > fMaxCount; } |
| 194 | 197 |
| 198 uint32_t getNextTimestamp(); |
| 199 |
| 195 #ifdef SK_DEBUG | 200 #ifdef SK_DEBUG |
| 196 bool isInCache(const GrGpuResource* r) const; | 201 bool isInCache(const GrGpuResource* r) const; |
| 197 void validate() const; | 202 void validate() const; |
| 198 #else | 203 #else |
| 199 void validate() const {} | 204 void validate() const {} |
| 200 #endif | 205 #endif |
| 201 | 206 |
| 202 class AutoValidate; | 207 class AutoValidate; |
| 203 | 208 |
| 204 class AvailableForScratchUse; | 209 class AvailableForScratchUse; |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 | 333 |
| 329 friend class GrGpuResource; // To access all the proxy inline methods. | 334 friend class GrGpuResource; // To access all the proxy inline methods. |
| 330 friend class GrResourceCache; // To create this type. | 335 friend class GrResourceCache; // To create this type. |
| 331 }; | 336 }; |
| 332 | 337 |
| 333 inline GrResourceCache::ResourceAccess GrResourceCache::resourceAccess() { | 338 inline GrResourceCache::ResourceAccess GrResourceCache::resourceAccess() { |
| 334 return ResourceAccess(this); | 339 return ResourceAccess(this); |
| 335 } | 340 } |
| 336 | 341 |
| 337 #endif | 342 #endif |
| OLD | NEW |