Go to file
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
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench bench: Fix a couple presumed copy/paste errors 2019-02-09 12:34:17 +00:00
bin bin/sysopen: script moved to bin 2018-12-06 14:21:33 +00:00
dm add gbr --config 2019-02-19 15:23:42 +00:00
docker Build code size treemaps for skottie_tool 2019-02-12 13:54:00 +00:00
docs update docs for backdrop 2019-02-22 16:07:25 +00:00
example drawText Cleanup, part 5 2019-01-09 16:10:30 +00:00
experimental [canvaskit] JS API in place for shaped text 2019-02-22 15:39:55 +00:00
fuzz Rename GrContext::contextPriv to priv 2019-02-04 22:13:14 +00:00
gm add hinting to gm 2019-02-22 13:56:25 +00:00
gn [canvaskit] JS API in place for shaped text 2019-02-22 15:39:55 +00:00
include Make it safe to enter the cache from a GrTexture idle proc. 2019-02-22 16:12:35 +00:00
infra [canvaskit] JS API in place for shaped text 2019-02-22 15:39:55 +00:00
modules [canvaskit] JS API in place for shaped text 2019-02-22 15:39:55 +00:00
platform_tools SkQP: android.support.test -> androidx.test 2019-02-18 17:50:38 +00:00
resources Refactor particle age logic 2019-02-20 19:55:20 +00:00
samplecode Make SkShaper an interface. 2019-02-19 22:06:47 +00:00
site docs - Trim down infra trooper docs. 2019-02-08 15:12:26 +00:00
src Make it safe to enter the cache from a GrTexture idle proc. 2019-02-22 16:12:35 +00:00
tests Make it safe to enter the cache from a GrTexture idle proc. 2019-02-22 16:12:35 +00:00
third_party [canvaskit] JS API in place for shaped text 2019-02-22 15:39:55 +00:00
tools Use upper case hex in viewer's zoom window 2019-02-20 15:40:39 +00:00
.clang-format .clang-format: Don't force break after > in template declarations 2018-12-21 14:20:57 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore Add script to pull svgs to svgs/ and add to .gitignore 2018-08-31 20:02:24 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Fix bug of SkSVGCanvas::Make 2019-02-14 02:09:30 +00:00
BUILD.gn [canvaskit] JS API in place for shaped text 2019-02-22 15:39:55 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll third_party/externals/angle2 962c222aa3be..b9039bf76bf3 (2 commits) 2019-02-22 06:52:24 +00:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py [presubmit] Remove pylint check 2019-01-14 13:47:51 +00:00
public.bzl Remove all references to jsoncpp (build scripts, DEPS, etc) 2019-02-06 15:15:52 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
whitespace.txt [infra] Marker for IntelBayTrail BIOS update. 2018-09-17 16:47:35 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.