Go to file
Greg Daniel a025a1b17e [graphite] Fix ResourceCache thread safety when purging resources.
Because it is possible for a Resource to get added to a ReturnQueue
after we've decided to purge it from the Cache (see comments in change
for scenarios), the current ResourceCache could end up deleting the
Resource while something is still trying to use it. This CL fixes those
issues with a few key changes:

1) We don't allow a Resource to be added to the ReturnQueue multiple
times.
2) We make use of a third ref, fCacheRef, to track a Resource being
held in the Cache or Cache's ReturnQueue.

Bug: skia:12754
Change-Id: I9ab2b5967057daa5a83dc24a9f5bf255218b46cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514119
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-02 19:21:47 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel [bazel] Make use of test_on_env to spin up server for gms 2022-02-28 14:05:54 +00:00
bench Reland "Reland "Adding a trace to nanobench for RP/VM comparison"" 2022-02-24 19:11:14 +00:00
bin Handle 'aarch64' from platform.machine() 2022-03-01 13:10:59 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Add Abseil dependency for Dawn 2021-09-22 22:05:32 +00:00
client_utils/android Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
demos.skia.org [canvaskit] Add in fillText to spreadsheet demo for comparison 2022-02-15 15:35:43 +00:00
dm Remove g8 config from DM/FM. Switch CPU bots to test r8 instead. 2022-02-15 15:46:10 +00:00
docker Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
docs/examples Reland "Add kR8_unorm_SkColorType" 2022-02-10 18:00:19 +00:00
example [bazel] Use font manager in HelloWorld. 2022-01-11 16:22:52 +00:00
experimental [graphite] Fix ResourceCache thread safety when purging resources. 2022-03-02 19:21:47 +00:00
fuzz Control growth of FuzzNicePath with chain of path transforms 2022-02-14 19:11:54 +00:00
gm [bazel] Fix Bazel build by guarding addToKey 2022-02-24 18:10:40 +00:00
gn [graphite] Rename SkUniformBlock to SkPipelineData 2022-03-02 17:01:07 +00:00
include Add maxSurfaceSampleCountForColorType to GrContextThreadSafeProxy 2022-03-01 15:13:40 +00:00
infra Add workaround for LLVM crash in macOS 12 on Intel or M1. 2022-03-02 15:20:10 +00:00
modules Bump karma from 6.3.2 to 6.3.16 in /modules/canvaskit 2022-03-02 14:36:51 +00:00
platform_tools Do not run ProcessorOptimizationValidationTest 2022-03-01 16:39:45 +00:00
resources Add workaround for LLVM crash in macOS 12 on Intel or M1. 2022-03-02 15:20:10 +00:00
samplecode Revert "[includes] Remove include link between SkPathRef.h and SkRRect.h" 2022-02-24 12:55:26 +00:00
site Remove isOpaque parameter from CanvasKit SkRuntimeEffect APIs 2022-02-10 17:15:13 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src [graphite] Rename SkUniformBlock to SkPipelineData 2022-03-02 17:01:07 +00:00
tests [graphite] Rename SkUniformBlock to SkPipelineData 2022-03-02 17:01:07 +00:00
third_party Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
toolchain [bazel] Regenerate files and build with c++17 2022-02-01 13:15:22 +00:00
tools Dump path in json representaion of DrawPath command 2022-03-02 16:34:46 +00:00
.bazelrc [canvaskit] Add more features to Bazel build 2022-02-04 21:33:20 +00:00
.bazelversion [canvaskit] Add skottie to Bazel build 2022-02-04 19:18:27 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore Add .vscode to the default gitignore list. 2021-10-13 15:23:02 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
.vpython [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
AUTHORS Fix a null pointer bug in SkData::copyRange 2022-01-24 19:27:13 +00:00
BUILD.bazel [bazel] Compile gms for wasm and WebGL 2022-02-09 18:56:17 +00:00
BUILD.gn Reland "Reland "Adding a trace to nanobench for RP/VM comparison"" 2022-02-24 19:11:14 +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 ANGLE from 5749ec7d053e to 51967b4fcf92 (18 revisions) 2022-03-02 05:45:46 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go_repositories.bzl [bazel] Make use of test_on_env to spin up server for gms 2022-02-28 14:05:54 +00:00
go.mod [bazel] Make use of test_on_env to spin up server for gms 2022-02-28 14:05:54 +00:00
go.sum [bazel] Make use of test_on_env to spin up server for gms 2022-02-28 14:05:54 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
package-lock.json [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
package.json [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl remove jpeg from android builds flagged with no_codec 2022-02-14 19:29:10 +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
RELEASE_NOTES.txt Add maxSurfaceSampleCountForColorType to GrContextThreadSafeProxy 2022-03-01 15:13:40 +00:00
whitespace.txt Push shaders.skia.org. 2022-01-19 21:46:16 +00:00
WORKSPACE.bazel [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +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.