Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(976)

Side by Side Diff: bench/GrResourceCacheBench.cpp

Issue 608883003: GrResourceCache2 manages scratch texture. (Closed) Base URL: https://skia.googlesource.com/skia.git@surfimpl
Patch Set: remove todo Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | gm/texturedomaineffect.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #if SK_SUPPORT_GPU 9 #if SK_SUPPORT_GPU
10 10
11 #include "Benchmark.h" 11 #include "Benchmark.h"
12 #include "GrGpuResource.h" 12 #include "GrGpuResource.h"
13 #include "GrContext.h" 13 #include "GrContext.h"
14 #include "GrGpu.h"
14 #include "GrResourceCache.h" 15 #include "GrResourceCache.h"
15 #include "GrStencilBuffer.h" 16 #include "GrStencilBuffer.h"
16 #include "GrTexture.h" 17 #include "GrTexture.h"
17 #include "GrTexturePriv.h" 18 #include "GrTexturePriv.h"
18 #include "SkCanvas.h" 19 #include "SkCanvas.h"
19 20
20 enum { 21 enum {
21 CACHE_SIZE_COUNT = 2048, 22 CACHE_SIZE_COUNT = 2048,
22 CACHE_SIZE_BYTES = 2 * 1024 * 1024, 23 CACHE_SIZE_BYTES = 2 * 1024 * 1024,
23 }; 24 };
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 179
179 protected: 180 protected:
180 virtual const char* onGetName() SK_OVERRIDE { 181 virtual const char* onGetName() SK_OVERRIDE {
181 return "grresourcecache_add"; 182 return "grresourcecache_add";
182 } 183 }
183 184
184 virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { 185 virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE {
185 GrGpu* gpu = canvas->getGrContext()->getGpu(); 186 GrGpu* gpu = canvas->getGrContext()->getGpu();
186 187
187 for (int i = 0; i < loops; ++i) { 188 for (int i = 0; i < loops; ++i) {
188 GrResourceCache cache(CACHE_SIZE_COUNT, CACHE_SIZE_BYTES); 189 GrResourceCache cache(gpu->caps(), CACHE_SIZE_COUNT, CACHE_SIZE_BYTE S);
189 populate_cache(&cache, gpu, DUPLICATE_COUNT); 190 populate_cache(&cache, gpu, DUPLICATE_COUNT);
190 populate_cache(&cache, gpu, RESOURCE_COUNT); 191 populate_cache(&cache, gpu, RESOURCE_COUNT);
191 192
192 // Check that cache works. 193 // Check that cache works.
193 for (int k = 0; k < RESOURCE_COUNT; k += 33) { 194 for (int k = 0; k < RESOURCE_COUNT; k += 33) {
194 check_cache_contents_or_die(&cache, k); 195 check_cache_contents_or_die(&cache, k);
195 } 196 }
196 cache.purgeAllUnlocked(); 197 cache.purgeAllUnlocked();
197 } 198 }
198 } 199 }
(...skipping 13 matching lines...) Expand all
212 return backend == kGPU_Backend; 213 return backend == kGPU_Backend;
213 } 214 }
214 215
215 protected: 216 protected:
216 virtual const char* onGetName() SK_OVERRIDE { 217 virtual const char* onGetName() SK_OVERRIDE {
217 return "grresourcecache_find"; 218 return "grresourcecache_find";
218 } 219 }
219 220
220 virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { 221 virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE {
221 GrGpu* gpu = canvas->getGrContext()->getGpu(); 222 GrGpu* gpu = canvas->getGrContext()->getGpu();
222 GrResourceCache cache(CACHE_SIZE_COUNT, CACHE_SIZE_BYTES); 223 GrResourceCache cache(gpu->caps(), CACHE_SIZE_COUNT, CACHE_SIZE_BYTES);
223 populate_cache(&cache, gpu, DUPLICATE_COUNT); 224 populate_cache(&cache, gpu, DUPLICATE_COUNT);
224 populate_cache(&cache, gpu, RESOURCE_COUNT); 225 populate_cache(&cache, gpu, RESOURCE_COUNT);
225 226
226 for (int i = 0; i < loops; ++i) { 227 for (int i = 0; i < loops; ++i) {
227 for (int k = 0; k < RESOURCE_COUNT; ++k) { 228 for (int k = 0; k < RESOURCE_COUNT; ++k) {
228 check_cache_contents_or_die(&cache, k); 229 check_cache_contents_or_die(&cache, k);
229 } 230 }
230 } 231 }
231 } 232 }
232 233
233 private: 234 private:
234 typedef Benchmark INHERITED; 235 typedef Benchmark INHERITED;
235 }; 236 };
236 237
237 DEF_BENCH( return new GrResourceCacheBenchAdd(); ) 238 DEF_BENCH( return new GrResourceCacheBenchAdd(); )
238 DEF_BENCH( return new GrResourceCacheBenchFind(); ) 239 DEF_BENCH( return new GrResourceCacheBenchFind(); )
239 240
240 #endif 241 #endif
OLDNEW
« no previous file with comments | « no previous file | gm/texturedomaineffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698