History log of /external/skia/src/gpu/GrGpuResource.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
67914ebddfc81b5f564dfa119eca3c8bad33db74 29-Mar-2018 Derek Sollenberger <djsollen@google.com> Dump additional details about the gpu resources.

GpuResources now dump optional string values that describe the type and
category of the resource. The type provides a description of the kind
of resource it is (e.g. texture, buffer object, stencil, etc.) and the
category describes what the resource is currently tasked to do (e.g.
path masks, images, scratch, etc.)

This CL also refactors the dump logic in an attempt to consolidate
duplicated code into GrGpuResources.cpp.

Bug: b/74435803
Change-Id: I83cae825f41e6450a21398ab3ecea349c7c61c15
Reviewed-on: https://skia-review.googlesource.com/115989
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>

(cherry picked from commit cf6da8c0f29877249a55949efd8b952b5b9bc01d)

No-Tree-Checks: true
No-Try: true
No-Presubmit: true
Change-Id: I3ec7ae7e36fe7224b8b052f1eabc31383b29b43a
Reviewed-on: https://skia-review.googlesource.com/117260
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
6ab4e8f2e499169071bd4168082e8b6cdcb4a107 19-Mar-2018 Eric Karl <ericrk@chromium.org> Allow SkTraceMemoryDump to exclude wrapped objects

Allow SkTraceMemoryDump to exclude wrapped objects from dumps. This
helps avoid duplicate dumping when Skia is wrapping an external object
which is already dumped externally.

Bug: 795358
Change-Id: Icbda96b564c81b958d40f74693280ac7d5ba7332
Reviewed-on: https://skia-review.googlesource.com/114681
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Eric Karl <ericrk@chromium.org>
(cherry picked from commit af7700265b74123d8ad3de6dde0c21545453140b)
Reviewed-on: https://skia-review.googlesource.com/117020
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
6be756b673b823881e90a2ef68c12b640ddde549 16-Jan-2018 Robert Phillips <robertphillips@google.com> Move resourceProvider accessor to GrContextPriv (take 2)

TBR=bsalomon@google.com
Change-Id: I3fd46ebfad0d04b8a2bfa6190f81308f3a6be620
Reviewed-on: https://skia-review.googlesource.com/95121
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
be46e24d57537f7ab6854fcd6f6ec07e2c50495c 16-Jan-2018 Hal Canary <halcanary@google.com> Revert "Move resourceProvider accessor to GrContextPriv"

This reverts commit 1f9ed8501b0007846b3032f4bfc38aee98c175a1.

Reason for revert:
1. breaking android roll
2. breaking Build-Debian9-Clang-arm-Release-Android_API26



Original change's description:
> Move resourceProvider accessor to GrContextPriv
>
> Change-Id: I5cddd620a7ec4b006b7359864ede58e9d4dd684e
> Reviewed-on: https://skia-review.googlesource.com/94340
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: I20b2d267c0925f20453b635663654967199a1197
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/94964
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
1f9ed8501b0007846b3032f4bfc38aee98c175a1 16-Jan-2018 Robert Phillips <robertphillips@google.com> Move resourceProvider accessor to GrContextPriv

Change-Id: I5cddd620a7ec4b006b7359864ede58e9d4dd684e
Reviewed-on: https://skia-review.googlesource.com/94340
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
b6deea8f0ed61475382fc48c7359118bfdcbff85 11-May-2017 Robert Phillips <robertphillips@google.com> Setup for another attempt to split up opLists

Split out of: https://skia-review.googlesource.com/c/14186 (Split up opLists (take 3))

Change-Id: Ifa600c88fb9185991d3197c7776c820f54c9bf0f
Reviewed-on: https://skia-review.googlesource.com/16540
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
85d34b2e841d99dab914111fe2eaa4db99345e1e 10-May-2017 Brian Osman <brianosman@google.com> Remove SkCrossContextImageData and all support code

Bug: skia:
Change-Id: I8eb8cef5456c05a8e314d8404698893c7af82d13
Reviewed-on: https://skia-review.googlesource.com/16368
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
0562eb9c6c98f07732ca96a1dd4e986f1ca089b8 08-May-2017 Brian Osman <brianosman@google.com> Allow wrapped resources to have unique keys

Previously, wrapped resources were never budgeted. Now we explicitly allow
wrapped, unbudgeted resources with unique keys. This allows code that
wraps (and re-wraps) external resources with a deterministic key to find
the same wrapped resource - saving time and ensuring a single wrapped
copy, to preserve state on the resource (like texture sampler state).

Bug: skia:
Change-Id: I1dd7642f1ed8bb6c620029d46203cf5cb6b3c160
Reviewed-on: https://skia-review.googlesource.com/15241
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
2c2bc11aea4dfcd7ee2f5859838a2aa0a56939e0 28-Feb-2017 Brian Osman <brianosman@google.com> Add GrExternalTextureData and SkCrossContextImageData

GrExternalTextureData is an API for exporting the backend-specific
information about a texture in a type-safe way, and without pointing
into the GrTexture. The new detachBackendTexture API lets us release
ownership of a texture to the client.

SkCrossContextImageData is the public API that lets clients upload
textures on one thread/GrContext, then safely transfer ownership to
another thread and GrContext for rendering.

Only GL is implemented/supported right now. Vulkan support requires
that we add thread-safe memory pools, or otherwise transfer the
actual memory block containing the texture to the new context.

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

BUG=skia:

Change-Id: I48ebd57d1ea0cfd3a1db10c475f2903afb821966
Reviewed-on: https://skia-review.googlesource.com/8960
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
aa1ab8905e74096f0460af467f126fdb1998a5f9 24-Feb-2017 Brian Osman <brianosman@google.com> Revert "Add GrExternalTextureData and SkCrossContextImageData"

This reverts commit 9ad1f92e2fceea33215c0f13cee42a679fb88d44.

Reason for revert: Breaking lots of bots

Original change's description:
> Add GrExternalTextureData and SkCrossContextImageData
>
> GrExternalTextureData is an API for exporting the backend-specific
> information about a texture in a type-safe way, and without pointing
> into the GrTexture. The new detachBackendTexture API lets us release
> ownership of a texture to the client.
>
> SkCrossContextImageData is the public API that lets clients upload
> textures on one thread/GrContext, then safely transfer ownership to
> another thread and GrContext for rendering.
>
> Only GL is implemented/supported right now. Vulkan support requires
> that we add thread-safe memory pools, or otherwise transfer the
> actual memory block containing the texture to the new context.
>
> BUG=skia:
>
> Change-Id: I784a3a74be69807df038c7d192eaed002c7e45ca
> Reviewed-on: https://skia-review.googlesource.com/8529
> 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,reviews@skia.org,chinmaygarde@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: If27d1f4c3a169efb6533170f67a172664c0fe8ce
Reviewed-on: https://skia-review.googlesource.com/8955
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
9ad1f92e2fceea33215c0f13cee42a679fb88d44 23-Feb-2017 Brian Osman <brianosman@google.com> Add GrExternalTextureData and SkCrossContextImageData

GrExternalTextureData is an API for exporting the backend-specific
information about a texture in a type-safe way, and without pointing
into the GrTexture. The new detachBackendTexture API lets us release
ownership of a texture to the client.

SkCrossContextImageData is the public API that lets clients upload
textures on one thread/GrContext, then safely transfer ownership to
another thread and GrContext for rendering.

Only GL is implemented/supported right now. Vulkan support requires
that we add thread-safe memory pools, or otherwise transfer the
actual memory block containing the texture to the new context.

BUG=skia:

Change-Id: I784a3a74be69807df038c7d192eaed002c7e45ca
Reviewed-on: https://skia-review.googlesource.com/8529
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
294870ff119b89fc902773643b054f14e5d1f554 11-Nov-2016 Robert Phillips <robertphillips@google.com> Add explicit UniqueID classes for GrGpuResource & GrSurfaceProxy

This sets the stage for using the Proxy's/RenderTargetContext's ID above the flush and the RenderTarget's/GrGpuResource's below the flush.

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

Change-Id: I9f1e6b00c02a0691d90b58c49e1d8c60684884c1
Reviewed-on: https://skia-review.googlesource.com/4650
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/GrGpuResource.cpp
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/GrGpuResource.cpp
8abb370aca280516f4861c6c942ec453aad018fa 31-Aug-2016 robertphillips <robertphillips@google.com> Have GrSurfaceProxys and GrGpuResources draw from the same pool of unique ids

The idea here is that, for wrapped Proxy objects, we want the uniqueID to reflect that of the wrapped object. For this to work the IDs for the non-wrapped versions can't conflict with GrGpuResource's pool of IDs.

Split off of: https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

Review-Url: https://codereview.chromium.org/2301523003
/external/skia/src/gpu/GrGpuResource.cpp
9a44565e9946629c4ee776fb859d168eb953da71 30-Aug-2016 bsalomon <bsalomon@google.com> Remove custom data from GrGpuResource

Chrome is no longer relying on this feature to track mailboxes for textures.

BUG=skia:4134

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

Review-Url: https://codereview.chromium.org/2291203002
/external/skia/src/gpu/GrGpuResource.cpp
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/GrGpuResource.cpp
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/GrGpuResource.cpp
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/GrGpuResource.cpp
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/GrGpuResource.cpp
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/GrGpuResource.cpp
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/GrGpuResource.cpp
c6363ef7b4763b36a9a0d255bc775a973d2fc7a5 24-Sep-2015 bsalomon <bsalomon@google.com> Make methods on GrGpuResource safe to call on abandoned resource

BUG=chromium:528908

Review URL: https://codereview.chromium.org/1367533004
/external/skia/src/gpu/GrGpuResource.cpp
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/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
6dc6f5f4a153d33ed91565cb3cd397a310a937d0 18-Jun-2015 bsalomon <bsalomon@google.com> Add support for creating texture backed images where Skia will delete the texture.

Review URL: https://codereview.chromium.org/1187523005
/external/skia/src/gpu/GrGpuResource.cpp
cabe20cafd5f091a68bbc2c0c48755ba9b61b0b7 01-Jun-2015 kkinnunen <kkinnunen@nvidia.com> Refactor GrGpu path rendering functions to GrPathRendering

GrGpu, GrGLGpu, GrPathRendering, GrGLPathRendering all duplicated
each others' path rendering related member functions. Make
GrPathRending the logical extension of GrGpu by removing the methods
from GrGpu. Similarly to the GL variants.

Changes includes and forward declarations due to removing
GrDrawTarget.h include from GrGpu.h. This was necessary due to
GrDrawTarget.h including GrPathRendering.h, and now GrPathRendering.h
includes GrGpu.h. (Also GrGpu.h does not need GrDrawTarget.h anymore).

Very slight runtime improvement on x86_64:
desk_fontwipe.skp_1 836us -> 841us 1.01x
desk_silkfinance.skp_1 2.01ms -> 2.01ms 1x
desk_forecastio.skp_1 7.03ms -> 7.05ms 1x
desk_weather.skp_1 3.74ms -> 3.74ms 1x
desk_twitter.skp_1 8.02ms -> 8.01ms 1x
desk_mapsvg.skp_1 5.24ms -> 5.23ms 1x
desk_pokemonwiki.skp_1 7.06ms -> 7.03ms 1x
desk_sfgate.skp_1 3.19ms -> 3.17ms 1x
tabl_cuteoverload.skp_1 2.66ms -> 2.64ms 0.99x
...
tabl_transformice.skp_1 3.06ms -> 2.98ms 0.98x
tabl_googlecalendar.skp_1 11.3ms -> 11ms 0.97x
tabl_gamedeksiam.skp_1 12.8ms -> 12.4ms 0.97x
desk_samoasvg.skp_1 10.6ms -> 10.3ms 0.97x
tabl_worldjournal.skp_1 4.44ms -> 4.3ms 0.97x

Review URL: https://codereview.chromium.org/1157683006
/external/skia/src/gpu/GrGpuResource.cpp
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/GrGpuResource.cpp
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/GrGpuResource.cpp
8718aafec239c93485e45bbe8fed19d9a8def079 19-Feb-2015 bsalomon <bsalomon@google.com> Rename GrContentKey to GrUniqueKey

Review URL: https://codereview.chromium.org/940463006
/external/skia/src/gpu/GrGpuResource.cpp
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/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
23e619cf462b2a8a500f3ca750e099f79601f508 06-Feb-2015 bsalomon <bsalomon@google.com> Reimplement gpu message bus for invalidated bitmap gen IDs

Review URL: https://codereview.chromium.org/902873002
/external/skia/src/gpu/GrGpuResource.cpp
63c992f6c05ea728b5386de61d279f10eb7e08d9 23-Jan-2015 bsalomon <bsalomon@google.com> Fix the speeling of "purgeable" in Gr code

TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/874693002
/external/skia/src/gpu/GrGpuResource.cpp
c2f35b750a57d7dc0b8053a98279631d1ccb9b56 23-Jan-2015 bsalomon <bsalomon@google.com> Allow unbudgeted resources to be recycled by the cache as scratch.

Review URL: https://codereview.chromium.org/870743002
/external/skia/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
afe3005be3392e43bc51eb7eb2017eefaed85ad1 16-Jan-2015 bsalomon <bsalomon@google.com> Require budget decision when creating a RenderTarget SkSurface.

Restructure SkGpuDevice creation:
*SkSurfaceProps are optional.
*Use SkSurfaceProps to communicate DF text rather than a flag.
*Tell SkGpuDevice::Create whether RT comes from cache or not.

Review URL: https://codereview.chromium.org/848903004
/external/skia/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
5756aff40921e700dc40f2a1757291a64acddeaa 11-Dec-2014 junov <junov@chromium.org> Adding a custom data field to GrGpuResource

Motivation: allow Blink to track pre-existing mailbox names for
textures that are recycled by the ganesh scratch texture pool.

BUG=440462
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/796163002
/external/skia/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
84c8e62fad59f0e19b40ac718467f5b7884b431d 17-Nov-2014 bsalomon <bsalomon@google.com> Allow GPU resources to not be counted against the cache budget.

BUG=skia:2889

Review URL: https://codereview.chromium.org/721353002
/external/skia/src/gpu/GrGpuResource.cpp
dace19ec17e85872df3fb35212e1b8bce72018b6 17-Nov-2014 bsalomon <bsalomon@google.com> Correct accounting for wrapped resources

BUG=skia:2889

Review URL: https://codereview.chromium.org/720033004
/external/skia/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
453cf40ac7702722695bb09ae2c6df44c19d008b 11-Nov-2014 bsalomon <bsalomon@google.com> Add GrGpuResource::CacheAccess

Internal only helper class for manipulating and accessing cache keys.

BUG=skia:2889

Review URL: https://codereview.chromium.org/703303003
/external/skia/src/gpu/GrGpuResource.cpp
672550ddb6098ab39bb8b5c48d2dc08f00df4c6a 11-Nov-2014 bsalomon <bsalomon@google.com> Remove bogus assert

content key can be set after pending io scheduled (e.g. when scaling up a npot texture to pot).

BUG=skia:2889
TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/693843004
/external/skia/src/gpu/GrGpuResource.cpp
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/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
81e64484ff801ad2c346722e41a3f4216a15b6c8 08-Oct-2014 bsalomon <bsalomon@google.com> Remove ~GrIORef since last remaining virtual and now all inline

TBR=reed@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/638003003
/external/skia/src/gpu/GrGpuResource.cpp
0f9e8a720c583956ed6e291d018f40fa624bb40d 08-Oct-2014 bsalomon <bsalomon@google.com> Revert of Use presence of a content key as non-scratch indicator (patchset #5 id:80001 of https://codereview.chromium.org/639873002/)

Reason for revert:
breaking nanobench on ubuntu

Original issue's description:
> Use presence of a content key as non-scratch indicator
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf

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

Review URL: https://codereview.chromium.org/642493003
/external/skia/src/gpu/GrGpuResource.cpp
9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf 08-Oct-2014 bsalomon <bsalomon@google.com> Use presence of a content key as non-scratch indicator

BUG=skia:2889

Review URL: https://codereview.chromium.org/639873002
/external/skia/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
45725db1d82615d43408ec488549aec6218f80e4 19-Sep-2014 bsalomon <bsalomon@google.com> Move IOType to GrGpuRef and rename that to GrIORef. Template GrPendingIORef on IOType.

BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/579403003
/external/skia/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
00b76bd750e668a6989dd497313e715d1b476fdc 03-Sep-2014 bsalomon <bsalomon@google.com> Add reference base class to GrGpuResourcewith pending IO references.

BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/533343002
/external/skia/src/gpu/GrGpuResource.cpp
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/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp
c8dc1f74b6cdda9a43a638292a608c59c1d72d80 21-Aug-2014 bsalomon <bsalomon@google.com> Add GrResourceCache2.

Currently it just replaces GrGpu as the owner of the linked list of resources.

Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f

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

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/481443002
/external/skia/src/gpu/GrGpuResource.cpp
1d89ddc4a3aad153501cfdc93bc1d61eb49157f4 19-Aug-2014 bsalomon <bsalomon@google.com> Revert of Add GrResourceCache2. (patchset #4 of https://codereview.chromium.org/481443002/)

Reason for revert:
Likely caused a leak detected in Chromium after last Skia roll.

Original issue's description:
> Add GrResourceCache2.
>
> Currently it just replaces GrGpu as the owner of the linked list of resources.
>
> Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f

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

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/477323006
/external/skia/src/gpu/GrGpuResource.cpp
94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f 19-Aug-2014 bsalomon <bsalomon@google.com> Add GrResourceCache2.

Currently it just replaces GrGpu as the owner of the linked list of resources.

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

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/481443002
/external/skia/src/gpu/GrGpuResource.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/src/gpu/GrGpuResource.cpp