Go to file
John Stiles 92d83b7b9d Add test to demonstrate out-param semantics violation.
GLSL ES2 documentation on out parameters: "Evaluation of an out
parameter results in an l-value that is used to copy out a value when
the function returns."

The inliner does not do any alias checking when inlining an `out` param.
That is, passing the same variable to two separate `out` parameters
would not generate two distinct lvalues in the inlined code; it reuses
the same variable for each out-params in the inlined code.

(Amusingly, our CFG can fully optimize away this test code so it just
returns "red".)

Change-Id: Ib781d2cfdac54f01b6abe159af0c84ff24ff6976
Bug: skia:11326
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370256
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-16 14:28:49 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Revert "Performance experiment: Disable SkSL optimization in nanobench/skpbench" 2021-02-13 01:06:13 +00:00
bin pull arm64 binary on arm64 Mac/Linux 2021-01-15 19:00:46 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Port to ANGLE's GN files 2020-09-11 15:22:34 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org [particles] Fix up URLs for the particles migration. 2021-01-25 20:44:32 +00:00
dm Reland "[svg] Plumb a ResourceProvider" 2021-01-27 21:12:23 +00:00
docker [docker] Fix build by pointing to correct path 2021-01-22 17:34:56 +00:00
docs/examples Guard legacy matrixtransforms, and expose new one 2021-02-01 22:10:39 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental [particles] Fix up URLs for the particles migration. 2021-01-25 20:44:32 +00:00
fuzz Hide legacy imagefilters::image using filter-quality 2021-02-14 14:58:00 +00:00
gm Hide legacy imagefilters::image using filter-quality 2021-02-14 14:58:00 +00:00
gn Add test to demonstrate out-param semantics violation. 2021-02-16 14:28:49 +00:00
include Don't define legacy flag 2021-02-15 14:25:13 +00:00
infra Update SKP version 2021-02-14 09:40:21 +00:00
modules Reland "Remove deprecated form of SkRuntimeEffect::Make." 2021-02-12 20:57:50 +00:00
platform_tools [SkottieView] handle calls to setSource after first animation initialization 2021-01-21 23:41:28 +00:00
resources Add test to demonstrate out-param semantics violation. 2021-02-16 14:28:49 +00:00
samplecode Rename GrPathStencilFillOp -> GrTessellatingStencilFillOp 2021-01-28 13:51:17 +00:00
site Replace 'dogben' with 'brianosman' in client code search page 2021-02-10 18:04:12 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Hide legacy imagefilters::image using filter-quality 2021-02-14 14:58:00 +00:00
tests Add test to demonstrate out-param semantics violation. 2021-02-16 14:28:49 +00:00
third_party NEON libjpeg-turbo on iOS and Mac 2021-02-02 22:07:54 +00:00
tools Revert "Performance experiment: Disable SkSL optimization in nanobench/skpbench" 2021-02-13 01:06:13 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format Disable BinPackParameters in .clang-format 2020-03-27 14:32:40 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore Update gitignore for goma win_toolchain 2021-02-01 17:25:52 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Fix type in Issue 11102: Add support for UWP compilation target 2021-02-13 23:38:48 +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 Chromium from 43600b3ab08c to fae825105dc5 (212 revisions) 2021-02-16 06:11:54 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod Update go.skia.org/infra in go.mod/go.sum 2020-12-21 20:31:07 +00:00
go.sum Update go.skia.org/infra in go.mod/go.sum 2020-12-21 20:31:07 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py reland: make brianosman a public API owner 2021-02-03 20:27:17 +00:00
public.bzl Round unresolved font blocks to grapheme edges 2021-01-27 15:39:09 +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 Reland "Remove deprecated form of SkRuntimeEffect::Make." 2021-02-12 20:57:50 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +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.