skia2/src
Chris Dalton d6fa45472c ccpr: Rework the path cache to support sporadic flushing
Removes the notion of a stashed atlas that we store from the previous
flush. Now we just cache every atlas we ever render. Cached atlases
can either be 16-bit or 8-bit.

The "reuse" and "animation" cases should both behave exactly the same
as before: Where before we would copy from the stashed atlas to 8-bit
atlases, we now copy from a cached 16-bit atlas and then invalidate
it. Where before we would recycle the stashed atlas's backing texture
object, we now recycle this same texture object from an invalidated
16-bit cached atlas.

The main difference is that cases like tiled rendering now work. If
you draw your whole scene in one flush, you still get one big 16-bit
cached atlas, just like the "stashed atlas" implementation. But if you
draw your scene in tiles, you now get lots of little cached 16-bit
atlases, which can be reused and eventually copied to 8-bit atlases.

Bug: skia:8462
Change-Id: Ibae65febb948230aaaf1f1361eef9c8f06ebef18
Reviewed-on: https://skia-review.googlesource.com/c/179991
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-04 20:51:09 +00:00
..
android add saveBehind to canvas 2018-12-19 14:44:09 +00:00
atlastext pass a font to GlyphRunBuilder 2019-01-02 21:02:33 +00:00
c expand imageinfo in C api, start on colorspace 2018-09-28 17:52:59 +00:00
codec Revert "Add SkColorSpace factory from 3x3 row-major gamut and transfer function" 2019-01-04 17:07:48 +00:00
compute more extra semis 2019-01-04 15:35:14 +00:00
core change paint serialization to exclude font-related fields 2019-01-04 19:35:37 +00:00
effects Integrate clamp to border into FP optimization flags 2018-12-19 14:58:39 +00:00
fonts move Sk{Test,Random}ScalerContext to tools 2017-11-10 17:02:20 +00:00
gpu ccpr: Rework the path cache to support sporadic flushing 2019-01-04 20:51:09 +00:00
image Allow aliasing in GrProxyProvider::processInvalidUniqueKey 2019-01-03 23:17:20 +00:00
images Revert "Treat kWEBP encode with quality=100 as lossless" 2018-12-11 17:12:49 +00:00
lazy begin cleanup of malloc porting layer 2018-01-05 21:29:35 +00:00
opts tear down one-big-switch SkRasterPipeline backend 2019-01-03 17:17:56 +00:00
pathops remove more extra semicolons 2019-01-04 14:19:36 +00:00
pdf SkPDF: eliminalte one member function 2019-01-03 19:21:31 +00:00
ports Update SkFontMgr_fuchsia.cpp for new FIDL API 2019-01-02 19:57:03 +00:00
sfnt Improve name table handling. 2018-08-20 20:39:54 +00:00
shaders drop into raster pipeline at 32767 2018-12-18 22:54:29 +00:00
sksl fixed SPIR-V global initializer ordering 2018-12-21 20:23:33 +00:00
svg pass font's explicitly, instead of relying on SkFont::LEGACY_ExtractFromPaint 2019-01-03 02:59:25 +00:00
utils [skjson] NaN while parsing long decimals 2019-01-04 20:41:27 +00:00
xml Fix occurrences of "-Wextra-semi-stmt" 2018-11-30 23:23:09 +00:00
xps flag to convert to SkTextEncoding 2018-12-03 15:20:36 +00:00