skia2/include
Brian Salomon 8cabb327e7 Make it safe to enter the cache from a GrTexture idle proc.
This fixes an issue in Chrome where Skia is calling a promise SkImage
texture release proc from ~SkImage that in turn flushes a SkSurface.
Prior to this change this caused an assert because we had already
decremented the GrTexture's ref count priot to calling the release
proc. This made the GrTexture purgeable, but the cache had not yet
been notified that the texture was purgeable and still had it in its
array of non-purgeable resources. This triggered an assert in the
cache's self-validation checks during the flush.

Now we call the release proc just prior to decrementing the ref count.
This also makes it legal to re-ref the resources from the release proc.

Bug: chromium:933526
Change-Id: I8cd921b77ca3dfe112089f9a553c1a625160d16d
Reviewed-on: https://skia-review.googlesource.com/c/194000
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-02-22 16:12:35 +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 Remove a few semicolons. 2019-02-11 14:40:37 +00:00
config remove unused parts of SkTypes.h 2018-06-08 23:53:57 +00:00
core update docs for backdrop 2019-02-22 16:07:25 +00:00
docs SkPDF: clean up public header 2019-01-02 15:55:33 +00:00
effects Make asFragmentProcessor entry point only take a GrRecordingContext (take 2) 2019-02-16 14:07:50 +00:00
encode Remove a few semicolons. 2019-02-11 14:40:37 +00:00
gpu Make it safe to enter the cache from a GrTexture idle proc. 2019-02-22 16:12:35 +00:00
pathops fixup winding contours 2018-08-17 14:01:51 +00:00
ports Reland "Add SkFontMgr implementation for Fuchsia" 2018-12-07 01:47:05 +00:00
private Move StrikeCache and TextBlobCache to RecordingContext 2019-02-21 23:01:32 +00:00
svg [SVGCanvas] Clean up public factories 2019-02-14 19:17:35 +00:00
third_party/vulkan Move vulkan headers from third_party to include/third_party. 2018-12-12 14:16:43 +00:00
utils Add new experimental API for rectangles with per-edge AA control 2019-01-23 16:45:01 +00:00