d309e7aa0efa2d5dd7e7b1af97026fcd3a047e98 |
|
30-Apr-2015 |
bsalomon <bsalomon@google.com> |
This replaces the texture creation/caching functions on GrContext with a GrTextureProvider interface. The goal is to pass this narrowly focused object in places that currently take a GrContext but don't need and shouldn't use its other methods. It also has an extended private interface for interacting with non-texture resource types. Review URL: https://codereview.chromium.org/1107973004
/external/skia/src/gpu/GrLayerCache.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/GrLayerCache.cpp
|
57f192d4af03499e640509d95e752a9cc97c4463 |
|
08-Jan-2015 |
robertphillips <robertphillips@google.com> |
Allow non-atlasable layer to still be hoisted The PlausiblyAtlasable check was preventing large layers from ever being hoisted in the FindLayersToHoist path. Review URL: https://codereview.chromium.org/844613002
/external/skia/src/gpu/GrLayerCache.cpp
|
478dd723362fefc2023aee03e11216d913eeac03 |
|
16-Dec-2014 |
robertphillips <robertphillips@google.com> |
Fix layer hoisting image filter corner cases This CL fixes 5 bugs related to hoisting image filters: For image filters the src layer (the one prior to filtering) often needs to be smaller then the final layer. This requires the saveLayer's optional bounds to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in compute_source_rect and carried around in GrCachedLayer. The image filters can add an extra offset to the final draw operation. This is now computed in GrLayerHoister::FilterLayer and carried around in GrCachedLayer. Filtered layers must use exact matches. This is now done in GrLayerCache::lock. The filter cache requires a valid matrix so it can compute the correct offset. This is now done in GrLayerHoister::FilterLayer. Filtered layers need to be drawn with drawSprite while unfiltered (and therefore hopefully atlased) layers can be drawn with drawBitmap. This is now done in draw_replacement_bitmap. Committed: https://skia.googlesource.com/skia/+/702eb9622102599d94ab6798e6227cf29f48c2d3 Review URL: https://codereview.chromium.org/803183003
/external/skia/src/gpu/GrLayerCache.cpp
|
86f032832fc3527ab561bcbd9d2a546f7f676f73 |
|
16-Dec-2014 |
robertphillips <robertphillips@google.com> |
Revert of Fix layer hoisting image filter corner cases (patchset #3 id:40001 of https://codereview.chromium.org/803183003/) Reason for revert: Breaking DM Original issue's description: > Fix layer hoisting image filter corner cases > > This CL fixes 5 bugs related to hoisting image filters: > > For image filters the src layer (the one prior to filtering) often needs to be > smaller then the final layer. This requires the saveLayer's optional bounds > to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in > compute_source_rect and carried around in GrCachedLayer. > > The image filters can add an extra offset to the final draw operation. > This is now computed in GrLayerHoister::FilterLayer and carried around in > GrCachedLayer. > > Filtered layers must use exact matches. This is now done in GrLayerCache::lock. > > The filter cache requires a valid matrix so it can compute the correct offset. > This is now done in GrLayerHoister::FilterLayer. > > Filtered layers need to be drawn with drawSprite while unfiltered (and therefore > hopefully atlased) layers can be drawn with drawBitmap. This is now done in > draw_replacement_bitmap. > > Committed: https://skia.googlesource.com/skia/+/702eb9622102599d94ab6798e6227cf29f48c2d3 TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/790643009
/external/skia/src/gpu/GrLayerCache.cpp
|
702eb9622102599d94ab6798e6227cf29f48c2d3 |
|
16-Dec-2014 |
robertphillips <robertphillips@google.com> |
Fix layer hoisting image filter corner cases This CL fixes 5 bugs related to hoisting image filters: For image filters the src layer (the one prior to filtering) often needs to be smaller then the final layer. This requires the saveLayer's optional bounds to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in compute_source_rect and carried around in GrCachedLayer. The image filters can add an extra offset to the final draw operation. This is now computed in GrLayerHoister::FilterLayer and carried around in GrCachedLayer. Filtered layers must use exact matches. This is now done in GrLayerCache::lock. The filter cache requires a valid matrix so it can compute the correct offset. This is now done in GrLayerHoister::FilterLayer. Filtered layers need to be drawn with drawSprite while unfiltered (and therefore hopefully atlased) layers can be drawn with drawBitmap. This is now done in draw_replacement_bitmap. Review URL: https://codereview.chromium.org/803183003
/external/skia/src/gpu/GrLayerCache.cpp
|
e99d499caa7dbc80b58e0faf5ce137e7d30cc5d0 |
|
03-Dec-2014 |
robertphillips <robertphillips@google.com> |
Fuse GrReplacements and GrLayerCache The conversion step from GrCachedLayer to ReplacementInfo isn't necessary. Review URL: https://codereview.chromium.org/769533004
/external/skia/src/gpu/GrLayerCache.cpp
|
bc0c4bd9dff5c7be1a0845ef0d5cc3f4faaef5f3 |
|
01-Dec-2014 |
robertphillips <robertphillips@google.com> |
Add additional clean up code in MPD path This addresses an edge case where a picture only has one layer which is atlasable but doesn't make it into the atlas. In this case asserts can fire since there is no atlased layer to clean up the tracking picture object. Review URL: https://codereview.chromium.org/764393002
/external/skia/src/gpu/GrLayerCache.cpp
|
01d6e5f462d1d52203ee1a6660415877e4cf2dde |
|
01-Dec-2014 |
robertphillips <robertphillips@google.com> |
Use variable length key (rather than accumulated matrix) as save layer hoisting key Adding the rendering canvas' CTM to the layer hoisting key (i.e., Add support for hoisting layers in pictures drawn with a matrix - https://codereview.chromium.org/748853002/) has increased the cache miss rate due to accumulated floating point error. This CL fixes part of the issue by using the chain of operation indices leading to each saveLayer as the key. The canvas' CTM must still form part of the key but should be less subject to accumulated error. BUG=skia:2315 Review URL: https://codereview.chromium.org/753253002
/external/skia/src/gpu/GrLayerCache.cpp
|
04c96950554b4e416755c5bc23022674518a6e8b |
|
24-Nov-2014 |
mtklein <mtklein@chromium.org> |
Remove Picture deletion listeners. Looks like we can just have ~SkPicture put the message on the bus directly. BUG=skia:3144 Review URL: https://codereview.chromium.org/751663002
/external/skia/src/gpu/GrLayerCache.cpp
|
a63f32e879a67c84f820c32ac2b10ffd7b2940b8 |
|
10-Nov-2014 |
robertphillips <robertphillips@google.com> |
Address MSAA rendering in layer hoisting This became relevant whilst attempting to rebaseline the multipicturedraw GMs after turning on layer hoisting inside Skia. Review URL: https://codereview.chromium.org/709943003
/external/skia/src/gpu/GrLayerCache.cpp
|
b32f0ad89119625feedb4f0403bbbc94fae44668 |
|
04-Nov-2014 |
robertphillips <robertphillips@google.com> |
Fix layer cache memory leak The issue was that, with caching disabled, the layer cache code was removing layers outside of a purge (i.e., in unlock) but not correctly cleaning up the GrPictureInfo objects (as is done in purgePlot). Review URL: https://codereview.chromium.org/703643002
/external/skia/src/gpu/GrLayerCache.cpp
|
225a627ccb15f41efa40750f4244283ef7e8fbf0 |
|
30-Oct-2014 |
robertphillips <robertphillips@google.com> |
Fix bug in aggressive layer cache purging A picture may possess many layers that get placed in one plot of the atlas. In this case we can only remove the plot from the plotUsage tracking structure when all the layers belonging to the picture in that plot have been removed. Review URL: https://codereview.chromium.org/654463004
/external/skia/src/gpu/GrLayerCache.cpp
|
4ab5a9048cf327adfc9ef9757ea956d7003ba047 |
|
29-Oct-2014 |
robertphillips <robertphillips@google.com> |
Discard atlas after every MultiPictureDraw::draw This is intended to prevent ghosting on tiled architectures. This CL also defers creation of the atlas (and its texture) until it is actually needed. Committed: https://skia.googlesource.com/skia/+/6d5b5455743414ddb11d2b8c1fe9d7959f2b853d Review URL: https://codereview.chromium.org/678403002
/external/skia/src/gpu/GrLayerCache.cpp
|
9f36b8719b5fab2e3d7f25c5299438f954d06052 |
|
29-Oct-2014 |
robertphillips <robertphillips@google.com> |
Revert of Discard atlas after every MultiPictureDraw::draw (patchset #4 id:60001 of https://codereview.chromium.org/678403002/) Reason for revert: Breaking bots Original issue's description: > Discard atlas after every MultiPictureDraw::draw > > This is intended to prevent ghosting on tiled architectures. > > This CL also defers creation of the atlas (and its texture) until it is actually needed. > > Committed: https://skia.googlesource.com/skia/+/6d5b5455743414ddb11d2b8c1fe9d7959f2b853d TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/687233002
/external/skia/src/gpu/GrLayerCache.cpp
|
6d5b5455743414ddb11d2b8c1fe9d7959f2b853d |
|
29-Oct-2014 |
robertphillips <robertphillips@google.com> |
Discard atlas after every MultiPictureDraw::draw This is intended to prevent ghosting on tiled architectures. This CL also defers creation of the atlas (and its texture) until it is actually needed. Review URL: https://codereview.chromium.org/678403002
/external/skia/src/gpu/GrLayerCache.cpp
|
f2703d83da3ab2ae18b45231fd4f11e16cce3184 |
|
28-Oct-2014 |
bsalomon <bsalomon@google.com> |
rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlags Review URL: https://codereview.chromium.org/682223002
/external/skia/src/gpu/GrLayerCache.cpp
|
fd61ed0d7929cf85e0b936f48c72035af4c0a4b3 |
|
28-Oct-2014 |
robertphillips <robertphillips@google.com> |
Alter layer hoisting to only hoist layers for one canvas at a time This CL alters layer hoisting to defer creation of the free floating layers until they are actually needed (rather than creating _all_ the hoisted layers at the start). It also fixes a pre vs. post Concat bug with how matrices were being accumulated. BUG=skia:2315 Review URL: https://codereview.chromium.org/657383004
/external/skia/src/gpu/GrLayerCache.cpp
|
3aac6e0848010efe046bd86bcb341dad5a23e174 |
|
20-Oct-2014 |
robertphillips <robertphillips@google.com> |
Add clip to layer cache This CL adds the clip region to the GPU layer hoisting image cache. It also switches back to the old caching behavior of using the entire CTM in the cache key rather then just the upper 2x2. This latter change is to focus more on hoisting rather then caching. It also includes 2 smaller fixes: a) layer's that have an image filter are no longer atlased (b.c. doing so complicates applying the image filter) b) the result of clipping the layer's bounds to the current clip is used as the hoisted layer's size. This reduces the amount of pixels drawn to match a normal (non-hoisted) draw pass. Review URL: https://codereview.chromium.org/640773004
/external/skia/src/gpu/GrLayerCache.cpp
|
e30597375c19dfb5197fd065a3d1768401eb00fa |
|
14-Oct-2014 |
bsalomon <bsalomon@google.com> |
Remove uses of GrAutoScratchTexture. Rename GrContext::lockAndRefScratchTexture to refScratchTexture. GrSurface::writePixels returns bool instead of void. BUG=skia:2889 Review URL: https://codereview.chromium.org/638403003
/external/skia/src/gpu/GrLayerCache.cpp
|
84ac082fd457dc49e22290662ad37249718279e6 |
|
14-Oct-2014 |
robertphillips <robertphillips@google.com> |
Add GrLayerCache::writeLayersToDisk I'm tired of readding this capability whenever I need to debug. Review URL: https://codereview.chromium.org/654653006
/external/skia/src/gpu/GrLayerCache.cpp
|
7bb9ed756e8663afe68e1a5fc680d57f83a31fea |
|
10-Oct-2014 |
robertphillips <robertphillips@google.com> |
Fix bug in GrCachedLayer reuse In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers. This CL changes adds a new pseudo-ref to GrCachedLayer. (It can't be a real ref since the cached layers aren't deleted when it goes to 0). NOTRY=true Committed: https://skia.googlesource.com/skia/+/5c481666c9678f43e039ad605457be3854cf8de3 Review URL: https://codereview.chromium.org/640323002
/external/skia/src/gpu/GrLayerCache.cpp
|
a32c6bce1b726b6038b97bb64daf8b1fb1eb94e0 |
|
09-Oct-2014 |
robertphillips <robertphillips@google.com> |
Revert of Fix bug in plot locking system (patchset #3 id:80001 of https://codereview.chromium.org/640323002/) Reason for revert: Failing unit tests Original issue's description: > Fix bug in plot locking system > > In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers. > > This CL changes the plot locking system to add a pseudo-ref for each GrHoistedLayer. > > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/5c481666c9678f43e039ad605457be3854cf8de3 TBR=jvanverth@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/643673004
/external/skia/src/gpu/GrLayerCache.cpp
|
5c481666c9678f43e039ad605457be3854cf8de3 |
|
09-Oct-2014 |
robertphillips <robertphillips@google.com> |
Fix bug in plot locking system In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers. This CL changes the plot locking system to add a pseudo-ref for each GrHoistedLayer. NOTRY=true Review URL: https://codereview.chromium.org/640323002
/external/skia/src/gpu/GrLayerCache.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/GrLayerCache.cpp
|
9323b8b8e16df4adcd63ee8496a6382e8df535c9 |
|
07-Oct-2014 |
Brian Salomon <bsalomon@google.com> |
Revert "GrResourceCache2 manages scratch texture." This reverts commit d14e1a27643125bfef37fa0ed314b64c1fae22b7.
/external/skia/src/gpu/GrLayerCache.cpp
|
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/GrLayerCache.cpp
|
410dd051c3a05ed6f6ef1c501b95a849930cd353 |
|
06-Oct-2014 |
robertphillips <robertphillips@google.com> |
Fix some incorrect assumptions in GrLayerCache.cpp Review URL: https://codereview.chromium.org/630173002
/external/skia/src/gpu/GrLayerCache.cpp
|
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/GrLayerCache.cpp
|
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/GrLayerCache.cpp
|
ed42059d2f97d4f8d247af3cbf5dc290c32785eb |
|
29-Sep-2014 |
robertphillips <robertphillips@google.com> |
Move offset and CTM from LayerCache Key to per-hoisted-layer info This CL reduces the amount of information used in the layer cache key: - the stop value isn't needed since the start value uniquely identifies the layer in the picture. - only the upper-left 2x2 portion of the CTM should be used as a key for looking up cached layers. - individual layers can be redraw in different locations so the final offset cannot be a part of the key. Since this data is no longer stored in the cached layer, but is still required to draw the cached layer, it is now stored in the per-layer information (i.e., HoistedLayer). This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/). BUG=skia:2315 R=egdaniel@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/609403003
/external/skia/src/gpu/GrLayerCache.cpp
|
4aa6dfc0b77af9ac298bb9d48991b72a2fec00b2 |
|
17-Sep-2014 |
robertphillips <robertphillips@google.com> |
Separate replacement creation from layer discovery This is a simple refactoring that sets the stage for eliminating GrReplacements::ReplacementInfo and splitting up EXPERIMENTAL_drawPicture to support multi picture draw. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/559603004
/external/skia/src/gpu/GrLayerCache.cpp
|
4815fe5a0a497b676677fb4e4a0f05c511855490 |
|
16-Sep-2014 |
robertphillips <robertphillips@google.com> |
Fix bug in layer hoisting transition to SkRecord backend Care must be taken when setting up the initial CTM matrix for partial SkRecord playbacks b.c. all the setMatrix calls will concatenate with the initial matrix (which may be different then the CTM that is required to draw correctly). R=mtklein@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/549143003
/external/skia/src/gpu/GrLayerCache.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/GrLayerCache.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/GrLayerCache.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/GrLayerCache.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/GrLayerCache.cpp
|
6f294af43bcd94ed9616a7e4f5892589813d0a01 |
|
18-Aug-2014 |
robertphillips <robertphillips@google.com> |
Refactor GrLayerCache for new API The only substantive change in this CL is skipping atlasing for any layers that are involved in nesting. Prior versions have allowed nesting layers to be atlased. -------------------------------------------------------- All times are on Windows with a repeat count of 200. Format is: <time in ms> (<# of glBindframebuffer calls>) How to interpret this: For the boogie page: both columns should be the same (since boogie has no nested layers) without the new API the tiled case doesn't show any real benefit from hoisting For the carsvg page: The nesting change does increase the number of FBO switches but doesn't kill performance Because of the location & size of the layers the tile case does show some improvement (even without the new API) boogie ------- w/o nested change w/ nested change simple 5.62 (811) N/A tiled 7.72 (811) N/A simple w/ hoisting 5.23 (409) 5.77 (409) (but no caching) tiled w/ hoisting 7.57 (809) 7.49 (809) (but no caching) carsvg ------ w/o nested change w/ nested change simple 60.37 (141990) N/A tiled 115.13 (256929) N/A simple w/ hoisting 41.57 (64570) 42.82 (72279) (but no caching) tiled w/ hoisting 84.24 (154352) 84.71 (165630) (but no caching) R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/476833004
/external/skia/src/gpu/GrLayerCache.cpp
|
0c4233285919c10df63c6cb207e580a7d1ff66b4 |
|
31-Jul-2014 |
robertphillips <robertphillips@google.com> |
Add CTM to the cached layers' key and reduce render target pingponging in layer pre-rendering The CTM is required on the key so we will re-render when necessary. The SkGpuDevice change ensures big layers in the midst of atlas-able layers don't cause a render target switch. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/433553002
/external/skia/src/gpu/GrLayerCache.cpp
|
ed6f03e5edea3fb803ac937184796a5bef65cd9b |
|
30-Jul-2014 |
robertphillips <robertphillips@google.com> |
Fix ref counting of cached layer's texture R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/431603002
/external/skia/src/gpu/GrLayerCache.cpp
|
09dde64628fcbf611891fa293c144835c7dfa644 |
|
29-Jul-2014 |
robertphillips <robertphillips@google.com> |
Now always use Atlas for layer cache This is setup for running cluster telemetry tests R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/429593002
/external/skia/src/gpu/GrLayerCache.cpp
|
320c92380fe6a43dffbcd3f9e7c99897da44298d |
|
29-Jul-2014 |
robertphillips <robertphillips@google.com> |
Add plot-based purging to GrLayerCache This CL allows a GrPlot full of atlased layer to be purged from the atlas to make room for new layers. R=jvanverth@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/411703003
/external/skia/src/gpu/GrLayerCache.cpp
|
d771f6bc273457bc7aa95938ac326dfbbf876e1a |
|
22-Jul-2014 |
robertphillips <robertphillips@google.com> |
Add auto purging for SkPicture-related Ganesh resources (esp. layers) This is intended to lower the bookkeeping burden for the Layer Caching feature. Cached layers are now automatically purged when a picture is deleted. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/408923002
/external/skia/src/gpu/GrLayerCache.cpp
|
3d533ac917eaadf2fb3561f57d7266d8c0e665fd |
|
20-Jul-2014 |
robertphillips <robertphillips@google.com> |
Replace GrTHash with SkTDynamicHash Mike: SkTDynamicHash changes Brian: Ganesh changes This removes three instances of GrTHash leaving the ones in GrTextStrike.h R=mtklein@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/402693003
/external/skia/src/gpu/GrLayerCache.cpp
|
261b8a98dc7378989ba8fa9c06b728e89162862b |
|
17-Jul-2014 |
robertphillips <robertphillips@google.com> |
Make GrLayerCache use multiple plots in its atlas Until we have a recycling Rectanizer the atlas purging must occur at the GrPlot level. This CL breaks the atlas into four plots to give some room for purging (without trashing the entire atlas). This is calved off of (Add atlased layer purging - https://codereview.chromium.org/367073002/) R=jvanverth@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/397873004
/external/skia/src/gpu/GrLayerCache.cpp
|
21048b588faa6a1c84949603ba82d9d4ba2f0cdd |
|
16-Jul-2014 |
robertphillips <robertphillips@google.com> |
Always have GrLayer's rect be valid This CL just makes atlasing easier/clearer since there is a separate atlased query method. Not using the rect as a signal also simplifies the rendering of the layer in SkGpuDevice.cpp. This is calved off from (Add atlased layer purging - https://codereview.chromium.org/367073002/) R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/384233002
/external/skia/src/gpu/GrLayerCache.cpp
|
952841bf41a81228c23d16c7204b458abe0d7136 |
|
30-Jun-2014 |
robertphillips <robertphillips@google.com> |
Begin atlasing This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled): 1) the atlased layers cannot be purged nor aged out 2) the texture backing the atlas is not pulled from (or returned to) the resource cache #1 is on hold until we have a recycling rectanizer A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents. Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/354533004
/external/skia/src/gpu/GrLayerCache.cpp
|
e462f2bed33283862bb983c67776a47c5a6acb01 |
|
30-Jun-2014 |
robertphillips <robertphillips@google.com> |
Revert of Begin atlasing (https://codereview.chromium.org/354533004/) Reason for revert: Sigh Original issue's description: > Begin atlasing > > This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled): > > 1) the atlased layers cannot be purged nor aged out > 2) the texture backing the atlas is not pulled from (or returned to) the resource cache > > #1 is on hold until we have a recycling rectanizer > > A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents. > > Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/359953002
/external/skia/src/gpu/GrLayerCache.cpp
|
d9cf38aeaf64a23c26f3927f97c33e14fbefad35 |
|
30-Jun-2014 |
robertphillips <robertphillips@google.com> |
Revert of Fix memory leak in "Begin atlasing" (https://codereview.chromium.org/361663002/) Reason for revert: Sigh Original issue's description: > Fix memory leak in (Begin atlasing https://codereview.chromium.org/354533004/) > > TBR=bsalomon@google.com > > Committed: https://skia.googlesource.com/skia/+/40d9c0e331fe2b76b4e13ca6cdf1ea50451ba6cc R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/360663002
/external/skia/src/gpu/GrLayerCache.cpp
|
40d9c0e331fe2b76b4e13ca6cdf1ea50451ba6cc |
|
30-Jun-2014 |
robertphillips <robertphillips@google.com> |
Fix memory leak in (Begin atlasing https://codereview.chromium.org/354533004/) R=bsalomon@google.com TBR=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/361663002
/external/skia/src/gpu/GrLayerCache.cpp
|
55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b |
|
30-Jun-2014 |
robertphillips <robertphillips@google.com> |
Begin atlasing This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled): 1) the atlased layers cannot be purged nor aged out 2) the texture backing the atlas is not pulled from (or returned to) the resource cache #1 is on hold until we have a recycling rectanizer A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/354533004
/external/skia/src/gpu/GrLayerCache.cpp
|
1d86ee8363018d71245d23573619473ae7e7d1c9 |
|
25-Jun-2014 |
robertphillips <robertphillips@google.com> |
Rename GrAtlasMgr to GrAtlas (and other cleanup) This CL also renames the old GrAtlas to ClientPlotUsage and moves it into the new GrAtlas. R=jvanverth@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/355673002
/external/skia/src/gpu/GrLayerCache.cpp
|
4ec84da746d66e1bcb76ab2f8b94602b8e966589 |
|
24-Jun-2014 |
robertphillips <robertphillips@google.com> |
Move allocation of texture from SkGpuDevice to GrLayerCache In order to atlas the layers the GrLayerCache needs to be given more control over where a given layer's texture is allocated (i.e., it could be a raw scratch texture or in the cache). R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/350183006
/external/skia/src/gpu/GrLayerCache.cpp
|
9b14f26d0f3a974f3dd626c8354e1db1cfcd322f |
|
04-Jun-2014 |
robertphillips <robertphillips@google.com> |
Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer) R=reed@google.com, bsalomon@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/313613004
/external/skia/src/gpu/GrLayerCache.cpp
|
7801faaab9bf7dd0ac67e859c4e284e74f7bd46f |
|
14-May-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add CPU backing store for GrAtlas to reduce texture uploads. This change creates a temporary copy of each GrPlot on the CPU side. As we add glyphs to a plot, a dirty rectangle is tracked, and just before we render text we upload all of the dirty areas to the atlas texture. Once a plot is nearly full, we assume that we may only be adding one or two glyphs before rendering, so we delete the CPU backing memory to save space, and upload directly. BUG=366225 R=robertphillips@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/269423007 git-svn-id: http://skia.googlecode.com/svn/trunk@14729 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrLayerCache.cpp
|
365cd31a65f7dff9947693cd1eab790ada753ed5 |
|
11-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Rename GrAtlasedLayer to GrCachedLayer (since not all cached layers are atlased) This is mainly a renaming CL but it does add a ref-counted ptr to the backing GrTexture for non-atlased layers (the only kind working right now) R=jvanverth@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/233703003 git-svn-id: http://skia.googlecode.com/svn/trunk@14152 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrLayerCache.cpp
|
2b4e370a2fe00168838e43f5a78ccc3b371609f5 |
|
07-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Convert SkPicture's generation ID to a unique ID This CL addresses linger code review comments on r14037 (Add generation ID to SkPicture https://codereview.chromium.org/222683002/) R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/225283014 git-svn-id: http://skia.googlecode.com/svn/trunk@14079 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrLayerCache.cpp
|
a9157727f7ac11dffe5780a0cfdb6d2bbb179373 |
|
03-Apr-2014 |
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@14039 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrLayerCache.cpp
|
e930a075625d3d90c023c2570a6a4cae1a4b484f |
|
03-Apr-2014 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add a GrLayerCache to GrContext https://codereview.chromium.org/217343006/ git-svn-id: http://skia.googlecode.com/svn/trunk@14038 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/GrLayerCache.cpp
|