OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 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 #include "GrTest.h" | 9 #include "GrTest.h" |
10 | 10 |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 fGpu->stats()->reset(); | 98 fGpu->stats()->reset(); |
99 #endif | 99 #endif |
100 } | 100 } |
101 | 101 |
102 void GrContext::dumpCacheStats(SkString* out) const { | 102 void GrContext::dumpCacheStats(SkString* out) const { |
103 #if GR_CACHE_STATS | 103 #if GR_CACHE_STATS |
104 fResourceCache->dumpStats(out); | 104 fResourceCache->dumpStats(out); |
105 #endif | 105 #endif |
106 } | 106 } |
107 | 107 |
| 108 void GrContext::dumpCacheStatsKeyValuePairs(SkTArray<SkString>* keys, |
| 109 SkTArray<double>* values) const { |
| 110 #if GR_CACHE_STATS |
| 111 fResourceCache->dumpStatsKeyValuePairs(keys, values); |
| 112 #endif |
| 113 } |
| 114 |
108 void GrContext::printCacheStats() const { | 115 void GrContext::printCacheStats() const { |
109 SkString out; | 116 SkString out; |
110 this->dumpCacheStats(&out); | 117 this->dumpCacheStats(&out); |
111 SkDebugf("%s", out.c_str()); | 118 SkDebugf("%s", out.c_str()); |
112 } | 119 } |
113 | 120 |
114 void GrContext::dumpGpuStats(SkString* out) const { | 121 void GrContext::dumpGpuStats(SkString* out) const { |
115 #if GR_GPU_STATS | 122 #if GR_GPU_STATS |
116 return fGpu->stats()->dump(out); | 123 return fGpu->stats()->dump(out); |
117 #endif | 124 #endif |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 out->appendf("\t\tEntry Count: current %d" | 217 out->appendf("\t\tEntry Count: current %d" |
211 " (%d budgeted, %d external(%d borrowed, %d adopted), %d locked
, %d scratch %.2g%% full), high %d\n", | 218 " (%d budgeted, %d external(%d borrowed, %d adopted), %d locked
, %d scratch %.2g%% full), high %d\n", |
212 stats.fTotal, fBudgetedCount, stats.fExternal, stats.fBorrowed, | 219 stats.fTotal, fBudgetedCount, stats.fExternal, stats.fBorrowed, |
213 stats.fAdopted, stats.fNumNonPurgeable, stats.fScratch, countUt
ilization, | 220 stats.fAdopted, stats.fNumNonPurgeable, stats.fScratch, countUt
ilization, |
214 fHighWaterCount); | 221 fHighWaterCount); |
215 out->appendf("\t\tEntry Bytes: current %d (budgeted %d, %.2g%% full, %d unbu
dgeted) high %d\n", | 222 out->appendf("\t\tEntry Bytes: current %d (budgeted %d, %.2g%% full, %d unbu
dgeted) high %d\n", |
216 SkToInt(fBytes), SkToInt(fBudgetedBytes), byteUtilization, | 223 SkToInt(fBytes), SkToInt(fBudgetedBytes), byteUtilization, |
217 SkToInt(stats.fUnbudgetedSize), SkToInt(fHighWaterBytes)); | 224 SkToInt(stats.fUnbudgetedSize), SkToInt(fHighWaterBytes)); |
218 } | 225 } |
219 | 226 |
| 227 void GrResourceCache::dumpStatsKeyValuePairs(SkTArray<SkString>* keys, |
| 228 SkTArray<double>* values) const { |
| 229 this->validate(); |
| 230 |
| 231 Stats stats; |
| 232 this->getStats(&stats); |
| 233 |
| 234 keys->push_back(SkString("gpu_cache_total_entries")); values->push_back(stat
s.fTotal); |
| 235 keys->push_back(SkString("gpu_cache_external_entries")); values->push_back(s
tats.fExternal); |
| 236 keys->push_back(SkString("gpu_cache_borrowed_entries")); values->push_back(s
tats.fBorrowed); |
| 237 keys->push_back(SkString("gpu_cache_adopted_entries")); values->push_back(st
ats.fAdopted); |
| 238 keys->push_back(SkString("gpu_cache_purgable_entries")); values->push_back(s
tats.fNumPurgeable); |
| 239 keys->push_back(SkString("gpu_cache_non_purgable_entries")); values->push_ba
ck(stats.fNumNonPurgeable); |
| 240 keys->push_back(SkString("gpu_cache_scratch_entries")); values->push_back(st
ats.fScratch); |
| 241 keys->push_back(SkString("gpu_cache_unbudgeted_size")); values->push_back((d
ouble)stats.fUnbudgetedSize); |
| 242 } |
| 243 |
220 #endif | 244 #endif |
221 | 245 |
222 /////////////////////////////////////////////////////////////////////////////// | 246 /////////////////////////////////////////////////////////////////////////////// |
223 | 247 |
224 void GrResourceCache::changeTimestamp(uint32_t newTimestamp) { fTimestamp = newT
imestamp; } | 248 void GrResourceCache::changeTimestamp(uint32_t newTimestamp) { fTimestamp = newT
imestamp; } |
225 | 249 |
226 /////////////////////////////////////////////////////////////////////////////// | 250 /////////////////////////////////////////////////////////////////////////////// |
227 // Code for the mock context. It's built on a mock GrGpu class that does nothing
. | 251 // Code for the mock context. It's built on a mock GrGpu class that does nothing
. |
228 //// | 252 //// |
229 | 253 |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 SkASSERT(nullptr == fGpu); | 365 SkASSERT(nullptr == fGpu); |
342 fGpu = new MockGpu(this, options); | 366 fGpu = new MockGpu(this, options); |
343 SkASSERT(fGpu); | 367 SkASSERT(fGpu); |
344 this->initCommon(options); | 368 this->initCommon(options); |
345 | 369 |
346 // We delete these because we want to test the cache starting with zero reso
urces. Also, none of | 370 // We delete these because we want to test the cache starting with zero reso
urces. Also, none of |
347 // these objects are required for any of tests that use this context. TODO:
make stop allocating | 371 // these objects are required for any of tests that use this context. TODO:
make stop allocating |
348 // resources in the buffer pools. | 372 // resources in the buffer pools. |
349 fDrawingManager->abandon(); | 373 fDrawingManager->abandon(); |
350 } | 374 } |
OLD | NEW |