History log of /external/skia/src/gpu/GrResourceCache.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
47710a52505e9b8d2ae6ef8521f6b7a022542b9e 28-Mar-2018 Robert Phillips <robertphillips@google.com> Add new GrResourceCache::purgeUnlockedResources variant

TBR=bsalomon@google.com
Change-Id: I05bef1f8a271474db878a046cc1f6ac7b60a15f1
Reviewed-on: https://skia-review.googlesource.com/116801
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
(cherry picked from commit 6eba063b63efbf824aff8ec6b32af05e4d54c38b)
Reviewed-on: https://skia-review.googlesource.com/116981
/external/skia/src/gpu/GrResourceCache.h
1afd4cdb0800e2e395b465da24eb71e0e834dafa 08-Jan-2018 Robert Phillips <robertphillips@google.com> Add GrProxyProvider

This pulls all the proxy tracking & creation functionality out of the GrResourceCache and GrResourceProvider and consolidates it in the GrProxyProvider.

Change-Id: I7256f7c544319a70c1bd93dd5a9ccbe5fa0a544f
Reviewed-on: https://skia-review.googlesource.com/91501
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/GrResourceCache.h
eafd48af63aef270cbea139547bb4fa8a591748d 16-Nov-2017 Robert Phillips <robertphillips@google.com> Add overbudget handling to GrResourceAllocator

Change-Id: I5536c908310e907c77b5d55441a0edac6a74bf0e
Reviewed-on: https://skia-review.googlesource.com/71182
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrResourceCache.h
f8e2502819499894dff40c4f2f46e46edda15507 08-Nov-2017 Robert Phillips <robertphillips@google.com> Prepare to enable explicit gpu resource allocation (take 2)

Change-Id: I3fd78d53e8bea84c0217b9fe6e180eaa9e4ac753
Reviewed-on: https://skia-review.googlesource.com/68920
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrResourceCache.h
065b41dd90782e22b5708c8b43696db641d54f46 08-Nov-2017 Greg Daniel <egdaniel@google.com> Revert "Prepare to enable explicit gpu resource allocation"

This reverts commit f290376736b42a19b87da78c6ba2558313896860.

Reason for revert: Changed generated effect instead of FP

Original change's description:
> Prepare to enable explicit gpu resource allocation
>
> Change-Id: I407e45711c61831febbac3d3d3a88e3fdde92c5f
> Reviewed-on: https://skia-review.googlesource.com/68212
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,robertphillips@google.com

Change-Id: I949500d94c7461b7cf38d615117cfcdc9a791780
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/68900
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/GrResourceCache.h
f290376736b42a19b87da78c6ba2558313896860 08-Nov-2017 Robert Phillips <robertphillips@google.com> Prepare to enable explicit gpu resource allocation

Change-Id: I407e45711c61831febbac3d3d3a88e3fdde92c5f
Reviewed-on: https://skia-review.googlesource.com/68212
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrResourceCache.h
cd871401114f402e72420ccd49edecee2532b0e6 26-Sep-2017 Greg Daniel <egdaniel@google.com> Add ability to remove unique key from proxy and underlying surface.

Bug: skia:
Change-Id: I66b891ce9ca35906fdbddb36f565b35b25825112
Reviewed-on: https://skia-review.googlesource.com/51240
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrResourceCache.h
ae7d3f3992708354a3284bb49066737e36a76f40 21-Sep-2017 Robert Phillips <robertphillips@google.com> Add native caching of uniquely keyed GrTextureProxies (take 2)

TBR=bsalomon@google.com

Change-Id: I590dcdc85fb60706c7eb06277694791dc04c9141
Reviewed-on: https://skia-review.googlesource.com/49543
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrResourceCache.h
76d640d14ea78e1f827a2f545e7f0729cdc2896f 20-Sep-2017 Robert Phillips <robertphillips@google.com> Revert "Add native caching of uniquely keyed GrTextureProxies"

This reverts commit d4f100dad90ed5beb1b614464d8c4fcb22c0a993.

Reason for revert: ASAN

Original change's description:
> Add native caching of uniquely keyed GrTextureProxies
>
> Change-Id: I303fe025b7856b8d681a2d35b416c015bd468e1d
> Reviewed-on: https://skia-review.googlesource.com/48300
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com

Change-Id: I7bbf549d4855ce6d985867c3880eef80080bd3d1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/49442
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrResourceCache.h
d4f100dad90ed5beb1b614464d8c4fcb22c0a993 20-Sep-2017 Robert Phillips <robertphillips@google.com> Add native caching of uniquely keyed GrTextureProxies

Change-Id: I303fe025b7856b8d681a2d35b416c015bd468e1d
Reviewed-on: https://skia-review.googlesource.com/48300
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrResourceCache.h
3ea1798829df1a5d163b1851783046b624c29ea2 02-Jun-2017 Robert Phillips <robertphillips@google.com> Remove ImmediateFlush mode

Change-Id: I7db113e66d81516b2beb5eefeddf488d9bfed2e5
Reviewed-on: https://skia-review.googlesource.com/18488
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrResourceCache.h
5480a18d8799511034d0da219c72932cd8f25274 25-May-2017 Derek Sollenberger <djsollen@google.com> Add method to GrContext to purge unlocked resources.

Beyond setting the total cache limits this method enables clients to
request to purge a specific number of bytes, as well as specify their
preference to purge scratch resources over resources of other types.

Change-Id: I9259d5544d34251575d77eebe599388f213ff3ce
Reviewed-on: https://skia-review.googlesource.com/17987
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
/external/skia/src/gpu/GrResourceCache.h
ee47914ae5661043c20754f46523665a6d31bc73 24-May-2017 Derek Sollenberger <djsollen@google.com> Add GrContext API to report the number of purgeable bytes in the cache.

Change-Id: I1457eec9831736f386e3b3b80d9eac8dbb337a9b
Reviewed-on: https://skia-review.googlesource.com/17829
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
/external/skia/src/gpu/GrResourceCache.h
13dddce65fd87a8175a209a49f35615735a2886a 09-May-2017 Brian Osman <brianosman@google.com> Added SkImage::MakeCrossContextFromEncoded

Designed for Flutter's threading architecture, with
an eye to being useful to other clients. Under the
hood, uses a new image generator class to lazily wrap
a texture for multiple GrContexts.

Re-land of https://skia-review.googlesource.com/c/14180/

Bug: skia:
Change-Id: I3dd382640629b79b3058f18fee68d043566e43e5
Reviewed-on: https://skia-review.googlesource.com/15895
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/GrResourceCache.h
449d78f5a8e73407b314aa6cb4e60a8273f0d410 08-May-2017 Brian Salomon <bsalomon@google.com> Revert "Added SkImage::MakeCrossContextFromEncoded"

This reverts commit 83b1b3db36e8622f4bbc8c391d5c714e258d1e03.

Reason for revert: unit test failing and asan leaks

Original change's description:
> Added SkImage::MakeCrossContextFromEncoded
>
> Designed for Flutter's threading architecture, with
> an eye to being useful to other clients. Under the
> hood, uses a new image generator class to lazily wrap
> a texture for multiple GrContexts.
>
> Bug: skia:
> Change-Id: I6c37b12c8ab5bce94b91190e5f0beb91d31ae81b
> Reviewed-on: https://skia-review.googlesource.com/14180
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1f0bf580aa0ea2d132e18b64ff610ddac9d073a7
Reviewed-on: https://skia-review.googlesource.com/15892
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrResourceCache.h
83b1b3db36e8622f4bbc8c391d5c714e258d1e03 08-May-2017 Brian Osman <brianosman@google.com> Added SkImage::MakeCrossContextFromEncoded

Designed for Flutter's threading architecture, with
an eye to being useful to other clients. Under the
hood, uses a new image generator class to lazily wrap
a texture for multiple GrContexts.

Bug: skia:
Change-Id: I6c37b12c8ab5bce94b91190e5f0beb91d31ae81b
Reviewed-on: https://skia-review.googlesource.com/14180
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrResourceCache.h
5e150851d0dd5ddb161449b44edf1bf52d18ac5a 22-Mar-2017 Brian Salomon <bsalomon@google.com> Revert "Revert "Add a new GrResourceCache purging mechanism for purging unused resources.""

This reverts commit 20c322ef0cd04cf8e2592879d05d9f4e6cb19596.

Change-Id: I6df9a8594484837672308dc2c21c7c29b76ffa2c
Reviewed-on: https://skia-review.googlesource.com/10013
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrResourceCache.h
20c322ef0cd04cf8e2592879d05d9f4e6cb19596 22-Mar-2017 Brian Salomon <bsalomon@google.com> Revert "Add a new GrResourceCache purging mechanism for purging unused resources."

This reverts commit fbb56ce83fc717b7c6722324bbccd1ae73c350a4.

Reason for revert: Chrome's ancient libstdc++ doesn't like use of steady_clock

Original change's description:
> Add a new GrResourceCache purging mechanism for purging unused resources.
>
> The client may call GrContext::purgeResourceNotUsedSince() with a stead_clock::time_point and all resources that have been purgeable since before that time point are purged.
>
> This is intended to replace the "max unused flushes" purging mechanism once Chrome adopts it.
>
> Change-Id: I28881dd2959cc01c0acca81b2d6001ee5626439d
> Reviewed-on: https://skia-review.googlesource.com/8920
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Eric Karl <ericrk@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,ericrk@google.com,reviews@skia.org,ericrk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I3baa3b2e80302315b757d4d625732459e13795d4
Reviewed-on: https://skia-review.googlesource.com/10004
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrResourceCache.h
fbb56ce83fc717b7c6722324bbccd1ae73c350a4 22-Mar-2017 Brian Salomon <bsalomon@google.com> Add a new GrResourceCache purging mechanism for purging unused resources.

The client may call GrContext::purgeResourceNotUsedSince() with a stead_clock::time_point and all resources that have been purgeable since before that time point are purged.

This is intended to replace the "max unused flushes" purging mechanism once Chrome adopts it.

Change-Id: I28881dd2959cc01c0acca81b2d6001ee5626439d
Reviewed-on: https://skia-review.googlesource.com/8920
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Eric Karl <ericrk@google.com>
/external/skia/src/gpu/GrResourceCache.h
1090da6433db575d59b93aec99f6bda49b808b84 06-Jan-2017 Brian Salomon <bsalomon@google.com> Add support for tagging GrUniqueKeys with a debug string

Change-Id: Ie7d56214fdee7a19a1e8ca3869e5e4d5e72cedf8
Reviewed-on: https://skia-review.googlesource.com/6632
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrResourceCache.h
ee843b2ae4d75748d8bc323287f0c310fad548a7 04-Oct-2016 robertphillips <robertphillips@google.com> Revert of Make GrResourceCache dynamically change between LRU and random replacement strategies. (patchset #8 id:140001 of https://codereview.chromium.org/2321563006/ )

Reason for revert:
Causing problems on Mac & Windows bots.

Original issue's description:
> Make GrResourceCache dynamically change between LRU and random replacement strategies.
>
> Random performs significantly better when each frame exceeds the budget by a small margin whereas LRU has worst case behavior.
>
> The decision of which to use is made based on the history from a few frames of the ratio of total unique key cache misses to unique key cache misses of resources purged in the last 2 frames.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2321563006
>
> Committed: https://skia.googlesource.com/skia/+/0f147ac2ae575bbad3515a526f13700bc5c8e9d7

TBR=bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2386993004
/external/skia/src/gpu/GrResourceCache.h
0f147ac2ae575bbad3515a526f13700bc5c8e9d7 03-Oct-2016 bsalomon <bsalomon@google.com> Make GrResourceCache dynamically change between LRU and random replacement strategies.

Random performs significantly better when each frame exceeds the budget by a small margin whereas LRU has worst case behavior.

The decision of which to use is made based on the history from a few frames of the ratio of total unique key cache misses to unique key cache misses of resources purged in the last 2 frames.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2321563006

Review-Url: https://codereview.chromium.org/2321563006
/external/skia/src/gpu/GrResourceCache.h
e2e87f3484e5524dbfd6c01f402136738d1d434b 22-Sep-2016 bsalomon <bsalomon@google.com> Change implementation of flush-count based GrGpuResource purging

Change default to approx 30seconds (given some API usage assumptions)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2361093002

Review-Url: https://codereview.chromium.org/2361093002
/external/skia/src/gpu/GrResourceCache.h
b77a907c2fb4402b7e70e9fff70eb71482354e67 07-Sep-2016 bsalomon <bsalomon@google.com> Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache.

Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough.

Removes the unused and untested discard flush variation.

Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext.

Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the
flush that just occurred.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002

Committed: https://skia.googlesource.com/skia/+/1dbb207babecdae8f1f74ed9d9900c73064df744
Review-Url: https://codereview.chromium.org/2307053002
/external/skia/src/gpu/GrResourceCache.h
5eb41fdf94187d6cc22702444622ed7897c8039a 06-Sep-2016 bsalomon <bsalomon@google.com> Revert of Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache. (patchset #4 id:60001 of https://codereview.chromium.org/2307053002/ )

Reason for revert:
Causing assertions on bots

Original issue's description:
> Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache.
>
> Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough.
>
> Removes the unused and untested discard flush variation.
>
> Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext.
>
> Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the
> flush that just occurred.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002
>
> Committed: https://skia.googlesource.com/skia/+/1dbb207babecdae8f1f74ed9d9900c73064df744

TBR=robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2312123003
/external/skia/src/gpu/GrResourceCache.h
1dbb207babecdae8f1f74ed9d9900c73064df744 06-Sep-2016 bsalomon <bsalomon@google.com> Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache.

Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough.

Removes the unused and untested discard flush variation.

Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext.

Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the
flush that just occurred.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002

Review-Url: https://codereview.chromium.org/2307053002
/external/skia/src/gpu/GrResourceCache.h
2e6055b3ea14a04fcde1ac1974a70bf00b1e295b 22-Apr-2016 kkinnunen <kkinnunen@nvidia.com> Refactor to separate backend object lifecycle and GpuResource budget decision

Refactor GrGpuResource to contain two different pieces of state:
a) instance is budgeted or not budgeted
b) instance references wrapped backend objects or not

The "object lifecycle" was also attached to backend object
handles (ids), which made the code a bit unclear. Backend objects
would be associated with GrGpuResource::LifeCycle, even though
GrGpuResource::LifeCycle refers to the GpuResource, and individual
backend objects in one GpuResource might be governed with different
"lifecycle".

Mark the budgeted/not budgeted with SkBudgeted::kYes, SkBudgeted::kNo.
This was previously GrGpuResource::kCached_LifeCycle,
GrGpuResource::kUncached_LifeCycle.

Mark the "references wrapped object" with boolean. This was previously
GrGpuResource::kBorrowed_LifeCycle,
GrGpuResource::kAdopted_LifeCycle for GrGpuResource.

Associate the backend object ownership status with
GrBackendObjectOwnership for the backend object handles.

The resource type leaf constuctors, such has GrGLTexture or
GrGLTextureRenderTarget take "budgeted" parameter. This parameter
is passed to GrGpuResource::registerWithCache().

The resource type intermediary constructors, such as GrGLTexture
constructors for class GrGLTextureRenderTarget do not take "budgeted"
parameters, intermediary construtors do not call registerWithCache.

Removes the need for tagging GrGpuResource -derived subclass
constructors with "Derived" parameter.

Makes instances that wrap backend objects be registered with
a new function GrGpuResource::registerWithCacheWrapped().

Removes "budgeted" parameter from classes such as StencilAttahment, as
they are always cached and never wrap any external backend objects.

Removes the use of concept "external" from the member function names.
The API refers to the objects as "wrapped", so make all related
functions use the term consistently.

No change in functionality. Resources referencing wrapped objects are
always inserted to the cache with budget decision kNo.

BUG=594928
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862043002

Review URL: https://codereview.chromium.org/1862043002
/external/skia/src/gpu/GrResourceCache.h
9d524f22bfde5dc3dc8f48e1be39bdebd3bb0304 29-Mar-2016 halcanary <halcanary@google.com> Style bikeshed - remove extraneous whitespace

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002

Review URL: https://codereview.chromium.org/1842753002
/external/skia/src/gpu/GrResourceCache.h
b2c0133caf0f03462385c19634281c351355c979 26-Feb-2016 bsalomon <bsalomon@google.com> When a surface is backed by an external render target force a copy on image snap

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1694943002

Review URL: https://codereview.chromium.org/1694943002
/external/skia/src/gpu/GrResourceCache.h
5ec26ae9bfca635ccc98283aad5deda11519d826 25-Feb-2016 bsalomon <bsalomon@google.com> Move Budgeted enum out of SkSurface, use in GrTextureProvider

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
DOCS_PREVIEW= https://skia.org/?cl=1728093005

Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1728093005
/external/skia/src/gpu/GrResourceCache.h
bd500f09ce5b1ca464431d693f9ec5da60a59230 25-Feb-2016 bsalomon <bsalomon@google.com> Revert of Move Budgeted enum out of SkSurface, use in GrTextureProvider (patchset #6 id:100001 of https://codereview.chromium.org/1728093005/ )

Reason for revert:
Need workaround for chrome to build

Original issue's description:
> Move Budgeted enum out of SkSurface, use in GrTextureProvider
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
> DOCS_PREVIEW= https://skia.org/?cl=1728093005
>
> Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c

TBR=reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1734043002
/external/skia/src/gpu/GrResourceCache.h
57599fe6c0336feaeeeb9b1996e77b70219b483c 25-Feb-2016 bsalomon <bsalomon@google.com> Move Budgeted enum out of SkSurface, use in GrTextureProvider

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
DOCS_PREVIEW= https://skia.org/?cl=1728093005

Review URL: https://codereview.chromium.org/1728093005
/external/skia/src/gpu/GrResourceCache.h
9f0337ed4b5b5f7b3a049175365658470061b3cb 09-Dec-2015 bsalomon <bsalomon@google.com> Attempt to land cache purge again [and regen bot logs if still failing]

TBR=

Review URL: https://codereview.chromium.org/1510103002
/external/skia/src/gpu/GrResourceCache.h
dc5685ac3752e90dd68179e9f1675ff6f15ed600 02-Dec-2015 joshualitt <joshualitt@chromium.org> Wire up resource cache stats dumping in nanobench

TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1495543003
/external/skia/src/gpu/GrResourceCache.h
60029a5397f75aae4bdb994f26bd297edc3e433c 09-Nov-2015 robertphillips <robertphillips@google.com> Update Layer Hoisting to store its atlas texture in the resource cache

BUG=skia:4346

Committed: https://skia.googlesource.com/skia/+/42597bc99f00553825843b5ed41e81b121773368

Review URL: https://codereview.chromium.org/1406013006
/external/skia/src/gpu/GrResourceCache.h
cf1d19805a289c612532cf2d4505bb348b78ba77 06-Nov-2015 robertphillips <robertphillips@google.com> Revert of Update Layer Hoisting to store its atlas texture in the resource cache (patchset #6 id:100001 of https://codereview.chromium.org/1406013006/ )

Reason for revert:
Android

Original issue's description:
> Update Layer Hoisting to store its atlas texture in the resource cache
>
> BUG=skia:4346
>
> Committed: https://skia.googlesource.com/skia/+/42597bc99f00553825843b5ed41e81b121773368

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4346

Review URL: https://codereview.chromium.org/1413483004
/external/skia/src/gpu/GrResourceCache.h
42597bc99f00553825843b5ed41e81b121773368 06-Nov-2015 robertphillips <robertphillips@google.com> Update Layer Hoisting to store its atlas texture in the resource cache

BUG=skia:4346

Review URL: https://codereview.chromium.org/1406013006
/external/skia/src/gpu/GrResourceCache.h
c03bdfa8e653fbdcb6b9f59ce862e00212e7c419 03-Nov-2015 bsalomon <bsalomon@google.com> Revert of Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of h… (patchset #1 id:1 of https://codereview.chromium.org/1428053003/ )

Reason for revert:
Breaking the DEPS roller - again

Original issue's description:
> Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/1316233003/ )"
>
> TBR=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/f7de08a52b5287cb16b2e89a8e3691676a4dbe5f

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

Review URL: https://codereview.chromium.org/1414693007
/external/skia/src/gpu/GrResourceCache.h
f7de08a52b5287cb16b2e89a8e3691676a4dbe5f 03-Nov-2015 bsalomon <bsalomon@google.com> Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/1316233003/ )"

TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/1428053003
/external/skia/src/gpu/GrResourceCache.h
966c2c33468fee81d49469a85d34cfcf964a7a30 29-Sep-2015 bsalomon <bsalomon@google.com> Revert of By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/1316233003/ )

Reason for revert:
Breaking conformance test again

Original issue's description:
> By default purge resources that haven't been used for 64 flushes
>
> BUG=skia:4258
>
> Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104
>
> R=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54
>
> Committed: https://skia.googlesource.com/skia/+/bd783cd5b62118277b75933c3cd7b9097129259a
>
> Committed: https://skia.googlesource.com/skia/+/198a350051824229aa89a5d6348f5a7fc875c9ca

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

Review URL: https://codereview.chromium.org/1374933004
/external/skia/src/gpu/GrResourceCache.h
198a350051824229aa89a5d6348f5a7fc875c9ca 29-Sep-2015 bsalomon <bsalomon@google.com> By default purge resources that haven't been used for 64 flushes

BUG=skia:4258

Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104

R=robertphillips@google.com

Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54

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

Review URL: https://codereview.chromium.org/1316233003
/external/skia/src/gpu/GrResourceCache.h
0a5fa484fd58d27088f8696bdc11c8cc8f2b4866 15-Sep-2015 ericrk <ericrk@chromium.org> Add onMemoryDump to GrContext

Adds an entry point to GrContext to allow enumeration and tracing of GPU resources
via the newly added SkTraceMemoryDump.

Plan is for Chrome to call this on each of its GrContexts.

Dumps both the total size of GPU resources, as well as the total purgeable size.

BUG=526261

Review URL: https://codereview.chromium.org/1313743002
/external/skia/src/gpu/GrResourceCache.h
9ceb6b54474b1f1b7427f3adcfe8092bc45629c6 31-Aug-2015 bsalomon <bsalomon@google.com> Revert of By default purge resources that haven't been used for 64 flushes (patchset #4 id:60001 of https://codereview.chromium.org/1316233003/ )

Reason for revert:
Breaking again

Original issue's description:
> By default purge resources that haven't been used for 64 flushes
>
> BUG=skia:4258
>
> Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104
>
> R=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54
>
> Committed: https://skia.googlesource.com/skia/+/bd783cd5b62118277b75933c3cd7b9097129259a

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

Review URL: https://codereview.chromium.org/1322753004
/external/skia/src/gpu/GrResourceCache.h
bd783cd5b62118277b75933c3cd7b9097129259a 31-Aug-2015 bsalomon <bsalomon@google.com> By default purge resources that haven't been used for 64 flushes

BUG=skia:4258

Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104

R=robertphillips@google.com

Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54

Review URL: https://codereview.chromium.org/1316233003
/external/skia/src/gpu/GrResourceCache.h
8db52b6367956c22e0cb1be8a9b77b154d21bbf9 31-Aug-2015 bsalomon <bsalomon@google.com> Revert of By default purge resources that haven't been used for 64 flushes (patchset #3 id:40001 of https://codereview.chromium.org/1316233003/ )

Reason for revert:
Blocking roll

Original issue's description:
> By default purge resources that haven't been used for 64 flushes
>
> BUG=skia:4258
>
> Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104
>
> R=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54

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

Review URL: https://codereview.chromium.org/1316263003
/external/skia/src/gpu/GrResourceCache.h
71d0c33068d41878cc3117f3761f49300f6b3d54 31-Aug-2015 Brian Salomon <bsalomon@google.com> By default purge resources that haven't been used for 64 flushes

BUG=skia:4258

Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/1316233003 .
/external/skia/src/gpu/GrResourceCache.h
b6bf36785cc5206f03573cf0bdd980db04eda24c 27-Aug-2015 rmistry <rmistry@google.com> Revert of By default purge resources that haven't been used for 64 flushes (patchset #2 id:20001 of https://codereview.chromium.org/1316233003/ )

Reason for revert:
Suspect for the failed "webgl_conformance on Intel GPU on Mac" test on 2 DEPS rolls:
https://codereview.chromium.org/1320943002/
https://codereview.chromium.org/1315703003/

Example build: http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/105501

Original issue's description:
> By default purge resources that haven't been used for 64 flushes
>
> BUG=skia:4258
>
> Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104

TBR=robertphillips@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4258

Review URL: https://codereview.chromium.org/1319053002
/external/skia/src/gpu/GrResourceCache.h
85047175508a24f43eef49359bed215a2a3bb104 27-Aug-2015 bsalomon <bsalomon@google.com> By default purge resources that haven't been used for 64 flushes

BUG=skia:4258

Review URL: https://codereview.chromium.org/1316233003
/external/skia/src/gpu/GrResourceCache.h
63926683c583e8497d9d907977e773663cb4bd9e 20-Aug-2015 robertphillips <robertphillips@google.com> Add ANGLE workaround to prefer flushes over VRAM usage

On the whole, https://codereview.chromium.org/1286203002/ (Defer flushes if kPreferNoIO is specified) improved performance but it did cause a performance regression on ANGLE. This CL disables the deferral of flushes on ANGLE until we can add a separate incremental flushing mechanism.

TBR=bsalomon@google.com

BUG=skia:4201
BUG=521529

Review URL: https://codereview.chromium.org/1287193008
/external/skia/src/gpu/GrResourceCache.h
6e83ac778f8f90939abe3aee3ea865428dff592f 13-Aug-2015 robertphillips <robertphillips@google.com> Defer flushes if kPreferNoIO is specified

Prior to this patch clients who were solely uploading to textures (e.g., SW Mask Mgr) would cause extra flushes b.c., even though kPreferNoIO was being specified, resources with pending IO would still be returned even though there was plenty of space in the resource cache.

Review URL: https://codereview.chromium.org/1286203002
/external/skia/src/gpu/GrResourceCache.h
3f324321cdd8fde7976d958e2888a1ec4e657e35 08-Apr-2015 bsalomon <bsalomon@google.com> Add mechanism to proactively purge old resources in GrResourceCache.

This change leaves the feature turned off by default.

Review URL: https://codereview.chromium.org/1032873002
/external/skia/src/gpu/GrResourceCache.h
ddf30e64fe474847b204d7062fad3341d245062c 19-Feb-2015 bsalomon <bsalomon@google.com> Handle the case when the GrResourceCache timestamp wraps.

NOTREECHECKS=true

Review URL: https://codereview.chromium.org/916103006
/external/skia/src/gpu/GrResourceCache.h
f99e961f55bb603d099c8cb57d05a2ae52a4e9ca 19-Feb-2015 bsalomon <bsalomon@google.com> Allow resources' unique keys to be changed.

Review URL: https://codereview.chromium.org/938943002
/external/skia/src/gpu/GrResourceCache.h
8718aafec239c93485e45bbe8fed19d9a8def079 19-Feb-2015 bsalomon <bsalomon@google.com> Rename GrContentKey to GrUniqueKey

Review URL: https://codereview.chromium.org/940463006
/external/skia/src/gpu/GrResourceCache.h
f320e04c50a1c8a861bc1d8f50bf732044ff9843 18-Feb-2015 bsalomon <bsalomon@google.com> Use an array of nonpurgeable resources in GrResourceCache

Review URL: https://codereview.chromium.org/932863004
/external/skia/src/gpu/GrResourceCache.h
9f2d1571ed1f0ed579e5d7779c46a90e20f30f22 17-Feb-2015 bsalomon <bsalomon@google.com> Make GrResourceCache use a priority queue of purgeable resources.

Review URL: https://codereview.chromium.org/921323002
/external/skia/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
0ea80f43a1af05b8157a4ef387223bb5b0da35ed 11-Feb-2015 bsalomon <bsalomon@google.com> Rename GrResourceCache2->GrResourceCache

TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/921453002
/external/skia/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 13-Nov-2014 bsalomon <bsalomon@google.com> Replace GrResourceCache with GrResourceCache2.

BUG=skia:2889

Review URL: https://codereview.chromium.org/716143004
/external/skia/src/gpu/GrResourceCache.h
6d4488c5e03010c94200b3706631d34ec3201411 11-Nov-2014 bsalomon <bsalomon@google.com> Remove all knowledge of resource keys from the legacy cache.

BUG=skia:2889

Review URL: https://codereview.chromium.org/705413002
/external/skia/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
bcf0a52d4f4221b158e68a06ba0c4cc4db011060 08-Oct-2014 bsalomon <bsalomon@google.com> GrResourceCache2 manages scratch texture.

BUG=skia:2889

Review URL: https://codereview.chromium.org/608883003
/external/skia/src/gpu/GrResourceCache.h
9323b8b8e16df4adcd63ee8496a6382e8df535c9 07-Oct-2014 Brian Salomon <bsalomon@google.com> Revert "GrResourceCache2 manages scratch texture."

This reverts commit d14e1a27643125bfef37fa0ed314b64c1fae22b7.
/external/skia/src/gpu/GrResourceCache.h
d14e1a27643125bfef37fa0ed314b64c1fae22b7 07-Oct-2014 bsalomon <bsalomon@google.com> GrResourceCache2 manages scratch texture.

BUG=skia:2889

Review URL: https://codereview.chromium.org/608883003
/external/skia/src/gpu/GrResourceCache.h
dbe6074a06efc5fb6883bb5e4f251ed67c8c0ab4 30-Sep-2014 robertphillips <robertphillips@google.com> Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https://codereview.chromium.org/608883003/)

Reason for revert:
Turning bots red:
Nanobench seems to be uniformly failing on Android
(http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio)

Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio)

Original issue's description:
> GrResourceCache2 manages scratch texture.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/611383003
/external/skia/src/gpu/GrResourceCache.h
3d398c876440deaab39bbf2a9b881c337e6dc8d4 30-Sep-2014 bsalomon <bsalomon@google.com> GrResourceCache2 manages scratch texture.

BUG=skia:
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/608883003
/external/skia/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
744998e666073166307d2522847b2536000a7619 28-Aug-2014 bsalomon <bsalomon@google.com> Make textures register with GrResourceCache2 as scratch.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/510053003
/external/skia/src/gpu/GrResourceCache.h
02e36f2d3f1fd1d48dbe67eed59c76d07f4d6f93 22-Aug-2014 bsalomon <bsalomon@google.com> Fix leak of GrResourceCacheEntry

R=robertphillips@google.com
TBR=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/502543002
/external/skia/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
7a037f494f3be524843540634507789c39f83689 21-Jul-2014 robertphillips <robertphillips@google.com> Move GrTMultiMap to src/core and rename it

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/401343002
/external/skia/src/gpu/GrResourceCache.h
11c6b39cfa24f812ceb115589f51a60a56ef14fe 05-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adds a mechanism for GrCacheable objects to notify the resource cache
when their size has changed. GrResourceCacheEntry now holds a
reference to the cache, and a cached value of the resource's most
recent size.

Also utilizes this new functionality for mipmaps, and adds a test for
changing resource sizes.

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

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14576 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
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/src/gpu/GrResourceCache.h
55bd940446506f8409f38271f2e4969e9b4f3991 02-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> SkTDynamicHash: pick up GetKey(), Hash() from T by default.

This also has a somewhat obscure technical benefit: it removes the
requirement that GetKey() and Hash() must be functions with external
linkage, which is required when passing a function pointer to a
template. A future CL that's run into this problem and the obvious
simplification are about 50/50 why I'm sending this CL.

BUG=skia:
DIFFBASE= https://codereview.chromium.org/222343002/
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14028 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
158f64626f8dae7e8437744184860d0110b88609 02-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> SkTDynamicHash: remove need for Equals(const T&, const Key&) param.

All implementations are relying on bool operator==(const Key&, const Key&)
anyway, which makes total sense, so just make that required.

BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14027 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
d8a57af725e8fa8905207df3cf7465be50598752 19-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding a new SkSurface factory for generating surfaces from the scratch texture pool.

TEST=Surface unit test
BUG=crbug.com/351798
R=bsalomon@google.com, robertphillips@google.com, reed@google.com

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13864 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
bd58febffb103ea830bf027c5a95313548f7ea8e 17-Jan-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Speed up GrResourceCache add and lookup by using TDynamicHash

Speed up GrResourceCache add and lookup by using TDynamicHash instead
of GrTHashTable. GrTHashTable spends most of its time memmoving the
array elements while sorting after an add. Lookup is not particularly
fast either.

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

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13122 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
d6bab0238655dbab24dfe92bd0b16b464310a8c7 02-Dec-2013 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reverting r12427

git-svn-id: http://skia.googlecode.com/svn/trunk@12428 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
5b39f5ba9c339d1e4dae391fee9ec1396feec180 02-Dec-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12427 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
742058f0ca473dd871a1235a0f30b1736b045ec9 28-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Speed up GrResourceCache lookup by inlining GrBinHashKey comparisons

The GCC compilers for Android and Ubuntu do not seem to be able to
inline the memcmp operations on GrBinHashKey data. Write the comparisons
manually. Also shortcut GrBinHashKey::EQ to skip comparison when hashes
do not match.

Speeds up grresourcecache_find test on ARM and x86_64. Speeds up
grresourcecache_add on x86_64.

In order to test the change, moves ad hoc Gr unit tests from
src/gr_unittest.cpp to tests/GrUnitTests to be consistent with other
tests and enables GrUnitTests.

Fixes a regression from r2863 with where re-setting GrBinHashKey data
would not set the hash correctly. This should also improve the hash
function itself. The regression caused many of the hash operations be
no-ops. This is caught by the unit test.

Renames the comparison functions that GrHashTable needs from EQ, LT to
Equals, LessThan.

Renames GrTBinHashKey to GrBinHashKey. The GrTBinHashKey used to
forward comparison functions to an ENTRY template class, which would
extract the key and call back to the GrTBinHashKey. This would save
the user from writing one comparison function when comparison was done
with int ENTRY::compare(). There's no real benefit in this now. Also
this was used only for one class (GrTextureStripAtlas). The other use
in GrResourceKey was not actually using the provided "shortcut". The
new GrBinHashKey is not templated with the entry, rather just provides
== and < functions. The users of GrTHashTable provide the needed
functions now.

Adds explicit documentation of functions that are actually needed
GrTHashTable for the Key template. Adds SK_DEBUG guards according to
the contract.

R=bsalomon@google.com, mtklein@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12426 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
50a3043194cf278a74ff51c33c6cdb52cbe1f8f9 24-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> We want to give SkPixelRef a way to signal over to GrResourceCache that it's become pointless to keep around textures based on that SkPixelRef when its pixels change, so that it can be a good citizen and free those textures.

This adds an invalidation listener mechanism to SkPixelRef to let it send this message while still staying ignorant of who's listening.

These messages are tricky to deliver. The SkPixelRefs they originates from and the GrResourceCaches they ultimately end up at may be on different threads; neither class is threadsafe; their object lifetimes are totally independent; it's a many-senders-to-many-receivers relation; and neither codebase should really know about the other.

So I've added a per-message-type global message bus to broadcast messages to threadsafe inboxes. Anyone can post() a message, which will show up in all the inboxes of that type, read whenever the inbox's owner calls poll(). The implementation is _dumb_; it can be improved in several dimensions (inbox size limits, lock-free message delivery) if we find the need.

I took some care to make sure not to send the invalidation message for any SkPixelRef that's sharing a generation ID with another SkPixelRef.

BUG=
R=bsalomon@google.com, scroggo@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11949 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
4c2af7407818f6f2d4e4b57da6bbca16524e04b9 21-Oct-2013 mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> GrTHashCache -> GrTHashTable

The class is Table, but the file's Cache. That's confusing.

BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11898 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
515dcd36032997ce335daa0163c6d67e851bcad1 28-Aug-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Replace uses of GR_DEBUG by SK_DEBUG.

BUG=None
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23137022

git-svn-id: http://skia.googlecode.com/svn/trunk@10978 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
1f3c73825b8a1752abc6b74fbce978a430de6473 20-Jul-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@10223 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
e4eaea2d126d58d8ce4034a1ce921404e83fe3f4 19-Jul-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Alter resource cache and GrContext to (optionally) never reuse a scratch texture

https://codereview.chromium.org/19482004/



git-svn-id: http://skia.googlecode.com/svn/trunk@10193 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
41d2532931a2e85b56ae112047d57927cb09ef6f 18-Jul-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> The rest of: Add purgeAsNeeded calls before addResource calls

https://codereview.chromium.org/19591003/



git-svn-id: http://skia.googlecode.com/svn/trunk@10146 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
de2e4e8a6422c7d8b5847f038f5c6360b187f7a2 11-Jul-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@9992 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
cae27fed5e45e8899e56ece22b27e8958ffc0162 10-Jul-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Allow the resource cache to (indirectly) flush the InOrderDrawBuffer

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/18466005

git-svn-id: http://skia.googlecode.com/svn/trunk@9949 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
76202b8dc39652b2832b279fc4cb798a0ea03ed3 10-May-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Don't call purgeCache() from within GrResource memebers.

R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9102 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
ff57afc64b103e98941e44a05c2fd0c1e78188bc 25-Feb-2013 sugoi@google.com <sugoi@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixed the hash key comparison function.
Review URL: https://codereview.appspot.com/7378065

git-svn-id: http://skia.googlecode.com/svn/trunk@7853 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
2859eb74f9c87471b2429cd12b84144b97157efb 21-Dec-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6921 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
0797c2cceadd7dfc2e7f9efa30b611d18efcdcdd 20-Dec-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reland 6914 w/ fixes.



git-svn-id: http://skia.googlecode.com/svn/trunk@6916 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
0b6ad2297fbf43466950690102c1c9c150f2a972 20-Dec-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert 6914 to fix build issues.



git-svn-id: http://skia.googlecode.com/svn/trunk@6915 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
4b86e3428b115202e82d49a0914ea8ab6dc25940 20-Dec-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Simplify cache IDs and keys.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6954047

git-svn-id: http://skia.googlecode.com/svn/trunk@6914 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
9f6a557548b4aec8aa0d3345488089b3d75f471c 17-Dec-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove unused type GrCacheKey

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6947074

git-svn-id: http://skia.googlecode.com/svn/trunk@6858 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
42619d8df206b0bcd36d952909d972b8961e75de 03-Dec-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Rename SkTDLinkedList to SkTInternalLinked list, add some methods useful for forthcoming SkTLList.
Review URL: https://codereview.appspot.com/6858101

git-svn-id: http://skia.googlecode.com/svn/trunk@6643 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
f3dc199c0b18e35ac8de4075ecbede7a484f1b0d 01-Nov-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6228 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
209a1143a1a26935578d45c7f86dc6f9aa2eb1a6 31-Oct-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Ganesh resource cache changes

https://codereview.appspot.com/6784051/



git-svn-id: http://skia.googlecode.com/svn/trunk@6211 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
9fbcad0f00d7098574cf3394a812c9d845c9cc5b 09-Sep-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Removed old resource locking system

https://codereview.appspot.com/6488098/



git-svn-id: http://skia.googlecode.com/svn/trunk@5453 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
50a035ddbb068446645b0978f4c092dec87a1a02 07-Sep-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added explicit cache clearing

http://codereview.appspot.com/6492094/



git-svn-id: http://skia.googlecode.com/svn/trunk@5444 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
d6bbbf8a831cc982cda9b91e84c5600c631af5b2 05-Sep-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Simplified stencil buffer caching

https://codereview.appspot.com/6503073/



git-svn-id: http://skia.googlecode.com/svn/trunk@5400 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
5955202c805c7ef1448103cbf666972ea9d1ded1 31-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Allow cache tracking to be enabled in release

https://codereview.appspot.com/6500057/



git-svn-id: http://skia.googlecode.com/svn/trunk@5365 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
d07cb0c0370de521169500c26b8d534a001cf580 30-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Begin moving locking out of GrResourceCache

http://codereview.appspot.com/6498064/



git-svn-id: http://skia.googlecode.com/svn/trunk@5354 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
a9b0623eac4a473517c15418dbdc1e331ee752d2 30-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added find, lock to GrContext & GrResourceCache interfaces

https://codereview.appspot.com/6499052/



git-svn-id: http://skia.googlecode.com/svn/trunk@5343 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
a292112154f803feb9f5cc002bbfab559f7cb633 28-Aug-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove SkGpuDevice::fTexture, use new pixel ref class name

Review URL: https://codereview.appspot.com/6474068/


git-svn-id: http://skia.googlecode.com/svn/trunk@5307 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
fbfcd5602128ec010c82cb733c9cdc0a3254f9f3 23-Aug-2012 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)

This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054

git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
a5c43a5a712e88f8f085d744e0e0a6011962af69 23-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixed compiler error in r5247 (unreviewed)



git-svn-id: http://skia.googlecode.com/svn/trunk@5248 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
2ea0a231a82b00e14c57806f6ae4664361d2ed16 23-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Refactored GrDLinkedList into SkTDLinkedList

http://codereview.appspot.com/6484045/



git-svn-id: http://skia.googlecode.com/svn/trunk@5247 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
521eaf8cc73cebebeaf54338c51c22922ac70951 22-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Scratch textures are no longer removed from the cache in Debug

http://codereview.appspot.com/6465079/



git-svn-id: http://skia.googlecode.com/svn/trunk@5221 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
5f9f2f574fe9b195f5f3e40edeb2e28b673511fd 22-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added resource cache debug output to help track changes

http://codereview.appspot.com/6463079/



git-svn-id: http://skia.googlecode.com/svn/trunk@5220 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
1f47f4f7325971dd53991e2bb02da94fa7c6d962 16-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Replaced TextureCacheEntry with GrTexture* and a back pointer to GrResourceEntry (in GrTexture)

http://codereview.appspot.com/6460089/



git-svn-id: http://skia.googlecode.com/svn/trunk@5122 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
46a8600405e678718271f62c5994119b8d3241e9 08-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Refactored cacheID in preparation for clip mask caching changes

http://codereview.appspot.com/6458089/



git-svn-id: http://skia.googlecode.com/svn/trunk@5002 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
386319eebb806f62a60b16826750f364edc94ce5 27-Jun-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixed Resource counting bug in AutoScratchTexture detach mechanism

http://codereview.appspot.com/6356043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4361 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
07fc0d178e20f74a88dd78384f817b53204e625f 22-Jun-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert r4287. Large numbers of textures created by random gradients can cause poor driver performance (at least on Mac)

BUG=670



git-svn-id: http://skia.googlecode.com/svn/trunk@4306 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
15c0fea699b25343fe6f49668a5632866e1a0306 22-Jun-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> AutoScratchTexture can now release its texture and it will return to the texture cache when freed

http://codereview.appspot.com/6262043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4301 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
8f7e1dac5c92bf1f53feb603a9bd249d53afa81a 21-Jun-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove count budget from resource cache

Review URL: http://codereview.appspot.com/6312052/



git-svn-id: http://skia.googlecode.com/svn/trunk@4287 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
a1e5795279bd085496fa04c59e588f440bf30457 04-Jun-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> GrTexture can now create its own cache key

http://codereview.appspot.com/6269047/



git-svn-id: http://skia.googlecode.com/svn/trunk@4148 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
05e70247c31ae927074ef27ea9893634a8dda543 27-Jan-2012 twiz@google.com <twiz@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Expose functionality to purge the GPU texture cache while running SampleApp.

Press 'p' to purge the cache. A summary of the number of bytes of video memory
released is output to the command prompt.
Review URL: https://codereview.appspot.com/5587045

git-svn-id: http://skia.googlecode.com/svn/trunk@3097 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
fb30951cd9346a7a2d36e7d5f81f9e7ee792b669 30-Nov-2011 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> [GPU] tile when large bitmap pased drawBitmap and only a small fraction is used

Review URL: http://codereview.appspot.com/5450048/



git-svn-id: http://skia.googlecode.com/svn/trunk@2760 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h
d38f137e9b813f8193675ebd3dfbfe8bc42639e9 12-Oct-2011 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move gpu/include/* to include/gpu and gpu/src/* to src/gpu
Review URL: http://codereview.appspot.com/5250070/



git-svn-id: http://skia.googlecode.com/svn/trunk@2471 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrResourceCache.h