diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-11-21 06:21:58 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-11-21 06:21:58 +0000 |
commit | 644629c1c7913a43ced172b98d56e0f471bc348b (patch) | |
tree | 944e9533b0ed138a623b2adf8c8dedd3fedafca2 /bench/RefCntBench.cpp | |
parent | bf6426120a8a9a034f37d37feaf942b1386b7a84 (diff) |
Implement a benchmark for GrResourceCache
Adds "grresourcecache_add" and "grresourcecache_find" bench tests to test
GrResourceCache::add and GrResourceCache::find. The tests work only
with GPU backends, since GrResourceCache needs an GrGpu.
Modifies bench tests to override SkBenchmark::isSuitableFor(Backend)
function that specifies what kind of backend the test is inteded
for. This replaces the previous "fIsRendering" flag that would
indicate test that did no rendering.
Adds SkCanvas::getGrContext() call to get the GrContext that the
canvas ends up drawing to. The member function solves a common
use-case that is also used in the benchmark added here.
R=mtklein@google.com, bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/73643005
git-svn-id: http://skia.googlecode.com/svn/trunk@12334 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'bench/RefCntBench.cpp')
-rw-r--r-- | bench/RefCntBench.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/bench/RefCntBench.cpp b/bench/RefCntBench.cpp index 0110dbcb13..f6ec7339cb 100644 --- a/bench/RefCntBench.cpp +++ b/bench/RefCntBench.cpp @@ -16,9 +16,10 @@ enum { class RefCntBench_Stack : public SkBenchmark { public: - RefCntBench_Stack() { - fIsRendering = false; + virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { + return backend == kNonRendering_Backend; } + protected: virtual const char* onGetName() { return "ref_cnt_stack"; @@ -53,9 +54,10 @@ SK_DEFINE_INST_COUNT(PlacedRefCnt) class RefCntBench_Heap : public SkBenchmark { public: - RefCntBench_Heap() { - fIsRendering = false; + virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { + return backend == kNonRendering_Backend; } + protected: virtual const char* onGetName() { return "ref_cnt_heap"; @@ -79,9 +81,10 @@ private: class RefCntBench_New : public SkBenchmark { public: - RefCntBench_New() { - fIsRendering = false; + virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { + return backend == kNonRendering_Backend; } + protected: virtual const char* onGetName() { return "ref_cnt_new"; @@ -106,9 +109,10 @@ private: class WeakRefCntBench_Stack : public SkBenchmark { public: - WeakRefCntBench_Stack() { - fIsRendering = false; + virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { + return backend == kNonRendering_Backend; } + protected: virtual const char* onGetName() { return "ref_cnt_stack_weak"; @@ -136,9 +140,10 @@ public: class WeakRefCntBench_Heap : public SkBenchmark { public: - WeakRefCntBench_Heap() { - fIsRendering = false; + virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { + return backend == kNonRendering_Backend; } + protected: virtual const char* onGetName() { return "ref_cnt_heap_weak"; @@ -162,9 +167,10 @@ private: class WeakRefCntBench_New : public SkBenchmark { public: - WeakRefCntBench_New() { - fIsRendering = false; + virtual bool isSuitableFor(Backend backend) SK_OVERRIDE { + return backend == kNonRendering_Backend; } + protected: virtual const char* onGetName() { return "ref_cnt_new_weak"; |