History log of /external/skia/bench/GrResourceCacheBench.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2880df2609eba09b555ca37be04b6ad89290c765 29-Oct-2015 Tom Hudson <tomhudson@google.com> Revert "Revert "Merge remote-tracking branch 'goog/master-skia' into goog/master""

When I broke android yesterday we reverted this merge to fix the breakage.
Undoing that revert so we can pull in the fix from Skia.
/external/skia/bench/GrResourceCacheBench.cpp
f7834221ac5342a3446b9b299398ea3ff7976946 28-Oct-2015 Tom Hudson <tomhudson@google.com> Revert "Merge remote-tracking branch 'goog/master-skia' into goog/master"

This reverts commit 0efb99a7c27bb2c4fc1a89993da5948a4e971823.

Change-Id: I971811435410091088a932f79ddbe254fd80e79d
/external/skia/bench/GrResourceCacheBench.cpp
a1ebeb25e9acfcd801e089e063311d716b83b8a5 01-Oct-2015 mtklein <mtklein@chromium.org> Remove const from `const int loops`.

This drives me nuts, and prevents `while (loops --> 0)`.

BUG=skia:

Review URL: https://codereview.chromium.org/1379923005
/external/skia/bench/GrResourceCacheBench.cpp
8a6697af95b340aad6dee7e6228048fa305c1e59 30-Sep-2015 joshualitt <joshualitt@chromium.org> Fix for nexus 5 crashing in GL benches

GLBenches do not expect gl state to change between onPerCanvasPreDraw and *PostDraw, but we do a clear and sometimes we clear as draw. This causes us to bind vertex objects / programs / etc.

This change creates two new virtual methods which are called right before and immediately after timing.

BUG=skia:

Review URL: https://codereview.chromium.org/1379853003
/external/skia/bench/GrResourceCacheBench.cpp
96fcdcc219d2a0d3579719b84b28bede76efba64 27-Aug-2015 halcanary <halcanary@google.com> Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
/external/skia/bench/GrResourceCacheBench.cpp
385fe4d4b62d7d1dd76116dd570df3290a2f487b 26-Aug-2015 halcanary <halcanary@google.com> Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
/external/skia/bench/GrResourceCacheBench.cpp
2766c00fc0b6a07d46e5f74cdad45da2ef625237 26-Jun-2015 mtklein <mtklein@chromium.org> remove SkInstCnt

It's been outclassed by Valgrind and leak sanitizer,
and it seems to be causing problems for external folks building Skia.

I'm not sure why our own builds seem unaffected.

Latest thread:
https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0

BUG=skia:

Review URL: https://codereview.chromium.org/1217573002
/external/skia/bench/GrResourceCacheBench.cpp
54b8511189bb5da6bfd248fa63f5c4156e9e2bd6 19-May-2015 kkinnunen <kkinnunen@nvidia.com> Make GrResourceCache perf less sensitive to key length change

Make GrResourceCache performance less sensitive to key length change.
The memcmp in GrResourceKey is called when SkTDynamicHash jumps the
slots to find the hash by a index. Avoid most of the memcmps by
comparing the hash first.

This is important because small changes in key data length can cause
big performance regressions. The theory is that key length change causes
different hash values. These hash values might trigger memcmps that
originally weren't there, causing the regression.

Adds few specialized benches to grresourcecache_add to test different
key lengths. The tests are run only on release, because on debug the
SkTDynamicHash validation takes too long, and adding many such delays
to development test runs would be unproductive. On release the tests
are quite fast.

Effect of this patch to the added tests on amd64:
grresourcecache_find_10 738us -> 768us 1.04x
grresourcecache_find_2 472us -> 476us 1.01x
grresourcecache_find_25 841us -> 845us 1x
grresourcecache_find_4 565us -> 531us 0.94x
grresourcecache_find_54 1.18ms -> 1.1ms 0.93x
grresourcecache_find_5 834us -> 749us 0.9x
grresourcecache_find_3 620us -> 542us 0.87x
grresourcecache_add_25 2.74ms -> 2.24ms 0.82x
grresourcecache_add_56 3.23ms -> 2.56ms 0.79x
grresourcecache_add_54 3.34ms -> 2.62ms 0.78x
grresourcecache_add_5 2.68ms -> 2.1ms 0.78x
grresourcecache_add_10 2.7ms -> 2.11ms 0.78x
grresourcecache_add_2 1.85ms -> 1.41ms 0.76x
grresourcecache_add 1.84ms -> 1.4ms 0.76x
grresourcecache_add_4 1.99ms -> 1.49ms 0.75x
grresourcecache_add_3 2.11ms -> 1.55ms 0.73x
grresourcecache_add_55 39ms -> 13.9ms 0.36x
grresourcecache_find_55 23.2ms -> 6.21ms 0.27x

On arm64 the results are similar.

On arm_v7_neon, the results lack the discontinuity at 55:
grresourcecache_add 4.06ms -> 4.26ms 1.05x
grresourcecache_add_2 4.05ms -> 4.23ms 1.05x
grresourcecache_find 1.28ms -> 1.3ms 1.02x
grresourcecache_find_56 3.35ms -> 3.32ms 0.99x
grresourcecache_find_2 1.31ms -> 1.29ms 0.99x
grresourcecache_find_54 3.28ms -> 3.24ms 0.99x
grresourcecache_add_5 6.38ms -> 6.26ms 0.98x
grresourcecache_add_55 8.44ms -> 8.24ms 0.98x
grresourcecache_add_25 7.03ms -> 6.86ms 0.98x
grresourcecache_find_25 2.7ms -> 2.59ms 0.96x
grresourcecache_find_4 1.45ms -> 1.38ms 0.95x
grresourcecache_find_10 2.52ms -> 2.39ms 0.95x
grresourcecache_find_55 3.54ms -> 3.33ms 0.94x
grresourcecache_find_5 2.5ms -> 2.32ms 0.93x
grresourcecache_find_3 1.57ms -> 1.43ms 0.91x

The extremely slow case, 55, is postulated to be due to the index jump
collisions running the memcmp. This is not visible on arm_v7_neon probably due
to hash function producing different results for 32 bit architectures.

This change is needed for extending path cache key in Gr
NV_path_rendering codepath. Extending is needed in order to add dashed
paths to the path cache.

Review URL: https://codereview.chromium.org/1132723003
/external/skia/bench/GrResourceCacheBench.cpp
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/bench/GrResourceCacheBench.cpp
8718aafec239c93485e45bbe8fed19d9a8def079 19-Feb-2015 bsalomon <bsalomon@google.com> Rename GrContentKey to GrUniqueKey

Review URL: https://codereview.chromium.org/940463006
/external/skia/bench/GrResourceCacheBench.cpp
3582d3ee9fffdec715f5e4949a241ab08e6271ec 13-Feb-2015 bsalomon <bsalomon@google.com> Split out methods in GrGpuResource::CacheAccess that can be called outside of the cache.

Review URL: https://codereview.chromium.org/923143002
/external/skia/bench/GrResourceCacheBench.cpp
0ea80f43a1af05b8157a4ef387223bb5b0da35ed 11-Feb-2015 bsalomon <bsalomon@google.com> Rename GrResourceCache2->GrResourceCache

TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/921453002
/external/skia/bench/GrResourceCacheBench.cpp
24db3b1c35fb935660229da164fc5ad31977387f 23-Jan-2015 bsalomon <bsalomon@google.com> Add specialized content key class for resources.

Review URL: https://codereview.chromium.org/858123002
/external/skia/bench/GrResourceCacheBench.cpp
5236cf480daf82b2f36e42795abdbbc915533a59 14-Jan-2015 bsalomon <bsalomon@google.com> Make uncached textures uncached from the get go.

This avoids the problem of a newly created uncached texture causing a purge of cached resources.

BUG=chromium:445885

Review URL: https://codereview.chromium.org/846303002
/external/skia/bench/GrResourceCacheBench.cpp
7775c85611c734a2af709b3a9c127939a4296c48 30-Dec-2014 bsalomon <bsalomon@google.com> Add a simpler key type for scratch resource keys.

BUG=skia:2889

Review URL: https://codereview.chromium.org/815833004
/external/skia/bench/GrResourceCacheBench.cpp
10e23caea3106be125acea10a637789e5a15c728 25-Nov-2014 bsalomon <bsalomon@google.com> Use scratch keys for stencil buffers.

BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/91175f19664a62851da4ca4e0984a7c7c45b258f

Review URL: https://codereview.chromium.org/747043004
/external/skia/bench/GrResourceCacheBench.cpp
19cd0f1813c4050e7604e1c5b9b5c7ca3de85e7b 24-Nov-2014 bsalomon <bsalomon@google.com> Revert "Use scratch keys for stencil buffers."

This reverts commit 91175f19664a62851da4ca4e0984a7c7c45b258f.

Revert "Cleanup res cache bench and split out into a unit test."

This reverts commit 4e4303f002c5958c6c958e7ba8e49b24c25f0b22.

Revert "rebaselines"

This reverts commit 65ba7b57759bfca60b24bc34dc46fc8caaf146f0.

TBR=tomhudson@google.com

Review URL: https://codereview.chromium.org/752233002
/external/skia/bench/GrResourceCacheBench.cpp
4e4303f002c5958c6c958e7ba8e49b24c25f0b22 24-Nov-2014 bsalomon <bsalomon@google.com> Cleanup res cache bench and split out into a unit test.

BUG=skia:2889

Review URL: https://codereview.chromium.org/754833002
/external/skia/bench/GrResourceCacheBench.cpp
91175f19664a62851da4ca4e0984a7c7c45b258f 24-Nov-2014 bsalomon <bsalomon@google.com> Use scratch keys for stencil buffers.

BUG=skia:2889

Review URL: https://codereview.chromium.org/747043004
/external/skia/bench/GrResourceCacheBench.cpp
12299ab7a1be5f4b99284ecf289d46107ef0a946 14-Nov-2014 bsalomon <bsalomon@google.com> Make GrResourceCache2 responsible for calling release, abandon, and ~.

BUG=skia:2889

TBR=robertphillips@google.com

NOTRY=true

Review URL: https://codereview.chromium.org/729683002
/external/skia/bench/GrResourceCacheBench.cpp
71cb0c241e439b6ed746b90294d0b6916644a644 14-Nov-2014 bsalomon <bsalomon@google.com> Replace GrResourceCache with GrResourceCache2.

BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6

Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89

Review URL: https://codereview.chromium.org/716143004
/external/skia/bench/GrResourceCacheBench.cpp
ac49acda520292b059bc37fd368dff912626c3d9 14-Nov-2014 bsalomon <bsalomon@google.com> Revert of Replace GrResourceCache with GrResourceCache2. (patchset #7 id:120001 of https://codereview.chromium.org/716143004/)

Reason for revert:
broken again

Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
>
> Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89

TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889

Review URL: https://codereview.chromium.org/726913002
/external/skia/bench/GrResourceCacheBench.cpp
407aa584d183c1bf314f5defd1cf0202e8a96c89 14-Nov-2014 bsalomon <bsalomon@google.com> Replace GrResourceCache with GrResourceCache2.

BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6

Review URL: https://codereview.chromium.org/716143004
/external/skia/bench/GrResourceCacheBench.cpp
f21dab95405979a4aff9f6a741c818304a67f220 13-Nov-2014 bsalomon <bsalomon@google.com> Revert of Replace GrResourceCache with GrResourceCache2. (patchset #6 id:100001 of https://codereview.chromium.org/716143004/)

Reason for revert:
Breaking stuff

Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6

TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889

Review URL: https://codereview.chromium.org/715333003
/external/skia/bench/GrResourceCacheBench.cpp
66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 13-Nov-2014 bsalomon <bsalomon@google.com> Replace GrResourceCache with GrResourceCache2.

BUG=skia:2889

Review URL: https://codereview.chromium.org/716143004
/external/skia/bench/GrResourceCacheBench.cpp
69ed47f42d4877c178fdc0031cb01af2966ae235 12-Nov-2014 bsalomon <bsalomon@google.com> Make GrGpuResource::gpuMemorySize non-virtual w/ onGpuMemorySize virtual impl

BUG=skia:2889

Review URL: https://codereview.chromium.org/702413003
/external/skia/bench/GrResourceCacheBench.cpp
8b79d23f825cd9e0f9e3bf8aaa9e209940b17ef6 10-Nov-2014 bsalomon <bsalomon@google.com> Use GrResourceCache2 to service content key lookups

BUG=skia:2889

Review URL: https://codereview.chromium.org/707493002
/external/skia/bench/GrResourceCacheBench.cpp
f2703d83da3ab2ae18b45231fd4f11e16cce3184 28-Oct-2014 bsalomon <bsalomon@google.com> rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlags

Review URL: https://codereview.chromium.org/682223002
/external/skia/bench/GrResourceCacheBench.cpp
1e2530babb65a883a01df5ee87147432f6707ce3 09-Oct-2014 bsalomon <bsalomon@google.com> Use presence of a content key as non-scratch indicator

BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf

Review URL: https://codereview.chromium.org/639873002
/external/skia/bench/GrResourceCacheBench.cpp
bcf0a52d4f4221b158e68a06ba0c4cc4db011060 08-Oct-2014 bsalomon <bsalomon@google.com> GrResourceCache2 manages scratch texture.

BUG=skia:2889

Review URL: https://codereview.chromium.org/608883003
/external/skia/bench/GrResourceCacheBench.cpp
afbf2d6273cd22c683f20a7e5773843876af3085 30-Sep-2014 bsalomon <bsalomon@google.com> Make "priv" classes for GrTexure and GrSurface.

R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/596053002
/external/skia/bench/GrResourceCacheBench.cpp
b06e5a2f558133b865cb0c3cc0b36e9bd2e594e2 30-Sep-2014 robertphillips <robertphillips@google.com> Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001 of https://codereview.chromium.org/596053002/)

Reason for revert:
Breaking the Chrome builds with:

lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()'

(http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio)

Original issue's description:
> Make "priv" classes for GrTexure and GrSurface.

R=egdaniel@google.com, joshualitt@google.com, bsalomon@google.com
TBR=bsalomon@google.com, egdaniel@google.com, joshualitt@google.com
NOTREECHECKS=true
NOTRY=true

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/618733002
/external/skia/bench/GrResourceCacheBench.cpp
c0eb9b9818462471f5fc1c47fa549c6052d8bbae 29-Sep-2014 bsalomon <bsalomon@google.com> Make "priv" classes for GrTexure and GrSurface.

R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com, joshualitt@chromium.org

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/596053002
/external/skia/bench/GrResourceCacheBench.cpp
49f085dddff10473b6ebf832a974288300224e60 05-Sep-2014 bsalomon <bsalomon@google.com> "NULL !=" = NULL

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
/external/skia/bench/GrResourceCacheBench.cpp
169612621f00b3fe9f71014079991287d311751a 26-Aug-2014 bsalomon <bsalomon@google.com> Make GrGpuResources register with GrResourceCache2 after fully constructed.

Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/504313002
/external/skia/bench/GrResourceCacheBench.cpp
a2b0af82f02a74749b0ae8c315202a810a89bcb8 26-Aug-2014 bsalomon <bsalomon@google.com> Revert of Make GrGpuResources register with GrResourceCache2 after fully constructed. (patchset #3 of https://codereview.chromium.org/504313002/)

Reason for revert:
Breaking the bots

Original issue's description:
> Make GrGpuResources register with GrResourceCache2 after fully constructed.
>
> Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/488463004
/external/skia/bench/GrResourceCacheBench.cpp
d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b 26-Aug-2014 bsalomon <bsalomon@google.com> Make GrGpuResources register with GrResourceCache2 after fully constructed.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/504313002
/external/skia/bench/GrResourceCacheBench.cpp
6d3fe022d68fd6dd32c0fab30e24fa5a4f048946 25-Jul-2014 bsalomon <bsalomon@google.com> Rename GrGpuObject to GrGpuResource

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/418143004
/external/skia/bench/GrResourceCacheBench.cpp
c44be0e9e4cee5402909c06370a630eee188a8f3 25-Jul-2014 bsalomon <bsalomon@google.com> Merge GrGpuObject and GrCacheable.

We want to create a new base class for "meta" gr resources as part of the GrResourceCache rewrite and this is an iterim step towards that goal.s

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/414013005
/external/skia/bench/GrResourceCacheBench.cpp
f168b86d7fafc5c20c87bebc6fd393cb17e120ca 19-Jun-2014 tfarina <tfarina@chromium.org> Remove Sk prefix from some bench classes.

This idea came while commenting on
https://codereview.chromium.org/343583005/

Since SkBenchmark, SkBenchLogger and SkGMBench are not part of the Skia library,
they should not have the Sk prefix.

BUG=None
TEST=make all
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/347823004
/external/skia/bench/GrResourceCacheBench.cpp
e49157f0838c615b10da0ef2b297c742da662e34 09-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Factor GrTexture into public GrTexture and private GrTextureImpl.

Committed: http://code.google.com/p/skia/source/detail?r=14680

R=jvanverth@google.com, robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/275903002

git-svn-id: http://skia.googlecode.com/svn/trunk@14687 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/bench/GrResourceCacheBench.cpp
59e7d238522145e00357c54d71a4216b279faf1c 09-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Factor GrTexture into public GrTexture and private GrTextureImpl. (https://codereview.chromium.org/275903002/)

Reason for revert:
Breaks chrome build.

Original issue's description:
> Factor GrTexture into public GrTexture and private GrTextureImpl.
>
> Committed: http://code.google.com/p/skia/source/detail?r=14680

R=jvanverth@google.com, robertphillips@google.com
TBR=jvanverth@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/278073002

git-svn-id: http://skia.googlecode.com/svn/trunk@14681 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/bench/GrResourceCacheBench.cpp
bd465d141be875278d6bbc06becfdbb4acbbf557 09-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Factor GrTexture into public GrTexture and private GrTextureImpl.

R=jvanverth@google.com, robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/275903002

git-svn-id: http://skia.googlecode.com/svn/trunk@14680 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/bench/GrResourceCacheBench.cpp
089a780c3355129eefc942246534bc1f126b8ccb 02-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Split GrResource into GrCacheable/GrGpuObject

Before this change, an object needed to inherit from GrResource (and
thus be a GPU object) in order to live in the GrResourceCache. That
was a problem for caching items that weren't GPU objects themselves,
but owned GPU objects.

This change splits GrResource into two classes:

1. GrCacheable: The base class for objects that can live in the
GrResourceCache.

2. GrGpuObject, which inherits from GrCacheable: The base class for
objects that get tracked by GrGpu.

This change is purely a refactor; there is no change in functionality.

Change-Id: I3e8daeb1f123041f414aa306c1366e959ae9e39e

BUG=skia:
R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/251013002

git-svn-id: http://skia.googlecode.com/svn/trunk@14553 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/bench/GrResourceCacheBench.cpp
88cb22b6b4816c7a9ca6c5b795965b4606f9eb7b 30-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAIL

R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/257393004

git-svn-id: http://skia.googlecode.com/svn/trunk@14460 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/bench/GrResourceCacheBench.cpp
ab1c13864df34aecfd4840ea7d1e4f8730b44f4e 05-Dec-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix compilation with SK_ENABLE_INST_COUNT=1

Add INHERITED declarations to class declarations that prevent
compilation with the flag.

Remove SK_DEFINE_INST_COUNT from all class implementations. Instead,
use function-local static variables in the reference count helper
classes to create the global instances to store the needed info. The
accessor functions are defined inline in the helper classes, so
definitions are not needed. The initialization point of the variables
should be as well defined as previously.

Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT
instead. This avoids possible future compilation errors further.

For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member
function to all classes that use SK_DECLARE_INST_COUNT and
SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes
contain public INHERITED typedef. This member function seems to be
compiled away. This shouĺd ensure that part of the compilation errors
are caught earlier.

Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses.

R=robertphillips@google.com, richardlin@chromium.org, bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/98703002

git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/bench/GrResourceCacheBench.cpp
3361471a3504ecd0351ff70f4c42d8d6fee963d4 03-Dec-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Simplify benchmark internal API.

I'm not quite sure why I wrote such a convoluted API with setLoops()/getLoops().
This replaces it with a loops argument passed to onDraw().

This CL is largely mechanical translation from the old API to the new one.
MathBench used this->getLoops() outside onDraw(), which seems incorrect. I
fixed it.

BUG=
R=djsollen@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/99893003

git-svn-id: http://skia.googlecode.com/svn/trunk@12466 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/bench/GrResourceCacheBench.cpp
644629c1c7913a43ced172b98d56e0f471bc348b 21-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/bench/GrResourceCacheBench.cpp