aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrResourceCache.h
Commit message (Collapse)AuthorAge
* When a surface is backed by an external render target force a copy on image snapGravatar bsalomon2016-02-26
| | | | | | | 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
* Move Budgeted enum out of SkSurface, use in GrTextureProviderGravatar bsalomon2016-02-25
| | | | | | | | | | | 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
* Revert of Move Budgeted enum out of SkSurface, use in GrTextureProvider ↵Gravatar bsalomon2016-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | (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
* Move Budgeted enum out of SkSurface, use in GrTextureProviderGravatar bsalomon2016-02-25
| | | | | | | | 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
* Attempt to land cache purge again [and regen bot logs if still failing]Gravatar bsalomon2015-12-09
| | | | | | TBR= Review URL: https://codereview.chromium.org/1510103002
* Wire up resource cache stats dumping in nanobenchGravatar joshualitt2015-12-02
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1495543003
* Update Layer Hoisting to store its atlas texture in the resource cacheGravatar robertphillips2015-11-09
| | | | | | | | BUG=skia:4346 Committed: https://skia.googlesource.com/skia/+/42597bc99f00553825843b5ed41e81b121773368 Review URL: https://codereview.chromium.org/1406013006
* Revert of Update Layer Hoisting to store its atlas texture in the resource ↵Gravatar robertphillips2015-11-06
| | | | | | | | | | | | | | | | | | | | | | 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
* Update Layer Hoisting to store its atlas texture in the resource cacheGravatar robertphillips2015-11-06
| | | | | | BUG=skia:4346 Review URL: https://codereview.chromium.org/1406013006
* Revert of Reland "By default purge resources that haven't been used for 64 ↵Gravatar bsalomon2015-11-03
| | | | | | | | | | | | | | | | | | | | | 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
* Reland "By default purge resources that haven't been used for 64 flushes ↵Gravatar bsalomon2015-11-03
| | | | | | | | (patchset #5 id:80001 of https://codereview.chromium.org/1316233003/ )" TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/1428053003
* Revert of By default purge resources that haven't been used for 64 flushes ↵Gravatar bsalomon2015-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* By default purge resources that haven't been used for 64 flushesGravatar bsalomon2015-09-29
| | | | | | | | | | | | | | 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
* Add onMemoryDump to GrContextGravatar ericrk2015-09-15
| | | | | | | | | | | | | 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
* Revert of By default purge resources that haven't been used for 64 flushes ↵Gravatar bsalomon2015-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* By default purge resources that haven't been used for 64 flushesGravatar bsalomon2015-08-31
| | | | | | | | | | | | 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
* Revert of By default purge resources that haven't been used for 64 flushes ↵Gravatar bsalomon2015-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | (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
* By default purge resources that haven't been used for 64 flushesGravatar Brian Salomon2015-08-30
| | | | | | | | | | BUG=skia:4258 Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104 R=robertphillips@google.com Review URL: https://codereview.chromium.org/1316233003 .
* Revert of By default purge resources that haven't been used for 64 flushes ↵Gravatar rmistry2015-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | (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
* By default purge resources that haven't been used for 64 flushesGravatar bsalomon2015-08-27
| | | | | | BUG=skia:4258 Review URL: https://codereview.chromium.org/1316233003
* Add ANGLE workaround to prefer flushes over VRAM usageGravatar robertphillips2015-08-20
| | | | | | | | | | | 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
* Defer flushes if kPreferNoIO is specifiedGravatar robertphillips2015-08-13
| | | | | | 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
* Add mechanism to proactively purge old resources in GrResourceCache.Gravatar bsalomon2015-04-08
| | | | | | This change leaves the feature turned off by default. Review URL: https://codereview.chromium.org/1032873002
* Handle the case when the GrResourceCache timestamp wraps.Gravatar bsalomon2015-02-19
| | | | | | NOTREECHECKS=true Review URL: https://codereview.chromium.org/916103006
* Allow resources' unique keys to be changed.Gravatar bsalomon2015-02-19
| | | | Review URL: https://codereview.chromium.org/938943002
* Rename GrContentKey to GrUniqueKeyGravatar bsalomon2015-02-19
| | | | Review URL: https://codereview.chromium.org/940463006
* Use an array of nonpurgeable resources in GrResourceCacheGravatar bsalomon2015-02-17
| | | | Review URL: https://codereview.chromium.org/932863004
* Make GrResourceCache use a priority queue of purgeable resources.Gravatar bsalomon2015-02-17
| | | | Review URL: https://codereview.chromium.org/921323002
* Split out methods in GrGpuResource::CacheAccess that can be called outside ↵Gravatar bsalomon2015-02-13
| | | | | | of the cache. Review URL: https://codereview.chromium.org/923143002
* Rename GrResourceCache2->GrResourceCacheGravatar bsalomon2015-02-11
| | | | | | TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/921453002
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-14
| | | | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89 Review URL: https://codereview.chromium.org/716143004
* Revert of Replace GrResourceCache with GrResourceCache2. (patchset #7 ↵Gravatar bsalomon2014-11-14
| | | | | | | | | | | | | | | | | | | | | | | 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
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-14
| | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 Review URL: https://codereview.chromium.org/716143004
* Revert of Replace GrResourceCache with GrResourceCache2. (patchset #6 ↵Gravatar bsalomon2014-11-13
| | | | | | | | | | | | | | | | | | | | | 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
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-13
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/716143004
* Remove all knowledge of resource keys from the legacy cache.Gravatar bsalomon2014-11-11
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/705413002
* Use GrResourceCache2 to service content key lookupsGravatar bsalomon2014-11-10
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/707493002
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-10-08
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/608883003
* Revert "GrResourceCache2 manages scratch texture."Gravatar Brian Salomon2014-10-07
| | | | This reverts commit d14e1a27643125bfef37fa0ed314b64c1fae22b7.
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-10-07
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/608883003
* Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 ↵Gravatar robertphillips2014-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-09-30
| | | | | | | | | BUG=skia: R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/608883003
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Make textures register with GrResourceCache2 as scratch.Gravatar bsalomon2014-08-28
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/510053003
* Fix leak of GrResourceCacheEntryGravatar bsalomon2014-08-22
| | | | | | | | | R=robertphillips@google.com TBR=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/502543002
* Rename GrGpuObject to GrGpuResourceGravatar bsalomon2014-07-25
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/418143004
* Merge GrGpuObject and GrCacheable.Gravatar bsalomon2014-07-25
| | | | | | | | | | 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
* Move GrTMultiMap to src/core and rename itGravatar robertphillips2014-07-21
| | | | | | | | R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/401343002
* Adds a mechanism for GrCacheable objects to notify the resource cacheGravatar commit-bot@chromium.org2014-05-05
| | | | | | | | | | | | | | | | | 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
* Split GrResource into GrCacheable/GrGpuObjectGravatar commit-bot@chromium.org2014-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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