OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef GrResourceCache_DEFINED | 8 #ifndef GrResourceCache_DEFINED |
9 #define GrResourceCache_DEFINED | 9 #define GrResourceCache_DEFINED |
10 | 10 |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 | 181 |
182 void notifyFlushOccurred(); | 182 void notifyFlushOccurred(); |
183 | 183 |
184 #if GR_CACHE_STATS | 184 #if GR_CACHE_STATS |
185 struct Stats { | 185 struct Stats { |
186 int fTotal; | 186 int fTotal; |
187 int fNumPurgeable; | 187 int fNumPurgeable; |
188 int fNumNonPurgeable; | 188 int fNumNonPurgeable; |
189 | 189 |
190 int fScratch; | 190 int fScratch; |
191 int fExternal; | 191 int fWrapped; |
192 int fBorrowed; | |
193 int fAdopted; | |
194 size_t fUnbudgetedSize; | 192 size_t fUnbudgetedSize; |
195 | 193 |
196 Stats() { this->reset(); } | 194 Stats() { this->reset(); } |
197 | 195 |
198 void reset() { | 196 void reset() { |
199 fTotal = 0; | 197 fTotal = 0; |
200 fNumPurgeable = 0; | 198 fNumPurgeable = 0; |
201 fNumNonPurgeable = 0; | 199 fNumNonPurgeable = 0; |
202 fScratch = 0; | 200 fScratch = 0; |
203 fExternal = 0; | 201 fWrapped = 0; |
204 fBorrowed = 0; | |
205 fAdopted = 0; | |
206 fUnbudgetedSize = 0; | 202 fUnbudgetedSize = 0; |
207 } | 203 } |
208 | 204 |
209 void update(GrGpuResource* resource) { | 205 void update(GrGpuResource* resource) { |
210 if (resource->cacheAccess().isScratch()) { | 206 if (resource->cacheAccess().isScratch()) { |
211 ++fScratch; | 207 ++fScratch; |
212 } | 208 } |
213 if (resource->resourcePriv().isExternal()) { | 209 if (resource->resourcePriv().refsWrappedObjects()) { |
214 ++fExternal; | 210 ++fWrapped; |
215 } | |
216 if (resource->cacheAccess().isBorrowed()) { | |
217 ++fBorrowed; | |
218 } | |
219 if (resource->cacheAccess().isAdopted()) { | |
220 ++fAdopted; | |
221 } | 211 } |
222 if (SkBudgeted::kNo == resource->resourcePriv().isBudgeted()) { | 212 if (SkBudgeted::kNo == resource->resourcePriv().isBudgeted()) { |
223 fUnbudgetedSize += resource->gpuMemorySize(); | 213 fUnbudgetedSize += resource->gpuMemorySize(); |
224 } | 214 } |
225 } | 215 } |
226 }; | 216 }; |
227 | 217 |
228 void getStats(Stats*) const; | 218 void getStats(Stats*) const; |
229 | 219 |
230 void dumpStats(SkString*) const; | 220 void dumpStats(SkString*) const; |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 | 420 |
431 friend class GrGpuResource; // To access all the proxy inline methods. | 421 friend class GrGpuResource; // To access all the proxy inline methods. |
432 friend class GrResourceCache; // To create this type. | 422 friend class GrResourceCache; // To create this type. |
433 }; | 423 }; |
434 | 424 |
435 inline GrResourceCache::ResourceAccess GrResourceCache::resourceAccess() { | 425 inline GrResourceCache::ResourceAccess GrResourceCache::resourceAccess() { |
436 return ResourceAccess(this); | 426 return ResourceAccess(this); |
437 } | 427 } |
438 | 428 |
439 #endif | 429 #endif |
OLD | NEW |