History log of /external/skia/src/gpu/GrGpuResourceCacheAccess.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.h
8718aafec239c93485e45bbe8fed19d9a8def079 19-Feb-2015 bsalomon <bsalomon@google.com> Rename GrContentKey to GrUniqueKey

Review URL: https://codereview.chromium.org/940463006
/external/skia/src/gpu/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
563ff60b33fa50b9c6a48dd048b8b36a88596668 03-Feb-2015 bsalomon <bsalomon@google.com> make getContentKey() available in GrGpuResource public interface

TBR=robertphillips@google.com

Committed: https://skia.googlesource.com/skia/+/85ed2db092e75db41b711b9116a8d5b465fc2b0c

Review URL: https://codereview.chromium.org/886313005
/external/skia/src/gpu/GrGpuResourceCacheAccess.h
9b440260d54795213a13d6394b5c9546e0f69fae 02-Feb-2015 stephana <stephana@google.com> Revert of make getContentKey() available in GrGpuResource public interface (patchset #2 id:20001 of https://codereview.chromium.org/886313005/)

Reason for revert:
This causes in one case the linker and in the other the compiler to segfault. On

Test-Ubuntu12-ShuttleA-GTX660-x86_64-Debug/Release

Original issue's description:
> make getContentKey() available in GrGpuResource public interface
>
> TBR=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/85ed2db092e75db41b711b9116a8d5b465fc2b0c

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

Review URL: https://codereview.chromium.org/864343005
/external/skia/src/gpu/GrGpuResourceCacheAccess.h
85ed2db092e75db41b711b9116a8d5b465fc2b0c 02-Feb-2015 bsalomon <bsalomon@google.com> make getContentKey() available in GrGpuResource public interface

TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/886313005
/external/skia/src/gpu/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.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/GrGpuResourceCacheAccess.h
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/GrGpuResourceCacheAccess.h