Go to file
John Stiles f2bd501ce3 Use references instead of pointers for Metal out params.
Pointers require decorating the variable with a * to read back the
value, which the code generator did not properly handle. There was a
special case to add the * but it only supported assignment into the
variable, not reading back. References require no special decoration.

This change fixes compile errors in Functions.sksl with the "bar"
function. (This test marks `x` as an inout but never actually mutates
it.) It also allows us to remove a special-case workaround for `frexp`,
an intrinsic function which uses a reference for its out-parameter.

Additionally, this CL adds a non-inlining copy of "OutParams.sksl" to
the Metal test directory, as most of our tests which use out-parameters
end up inlining all the code, which hides these sorts of bugs.

Change-Id: I31c4db04f6b512b4cd4fe65b3347b82bdbf039cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341000
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-12-04 20:22:55 +00:00
animations
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench don't parse svgs we won't run 2020-12-04 15:54:51 +00:00
bin bin/try: automatically set 'git cl issue' when not found 2020-06-25 17:44:01 +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 [canvaskit] Remove Sk from nearly all function/type names. 2020-10-07 21:01:32 +00:00
dm Reland "SkAndroidCodec: Support decoding all frames" 2020-11-16 16:55:48 +00:00
docker [canvaskit,pathkit] Update to emsdk 2.0 2020-08-20 14:55:50 +00:00
docs/examples deprecate getTotalMatrix 2020-12-03 17:37:35 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental fix debugger bindings 2020-12-03 19:18:07 +00:00
fuzz Move GrShaderCaps from Program::Settings to Compiler 2020-11-04 19:38:33 +00:00
gm add util for checker image 2020-12-04 18:02:24 +00:00
gn Use references instead of pointers for Metal out params. 2020-12-04 20:22:55 +00:00
include Reland "[skottie] Add image sampling and transform options" 2020-12-03 19:21:57 +00:00
infra Remove Metal Perf bots running on MacOS 10.13. 2020-12-04 14:49:31 +00:00
modules Painting styled text blocks in RTL 2020-12-03 21:51:40 +00:00
platform_tools move SkottieAnimation out of SkottieRunner to top level 2020-11-24 19:37:46 +00:00
resources Expose more info in SkCodec::FrameInfo 2020-12-02 22:37:20 +00:00
samplecode deprecate getTotalMatrix 2020-12-03 17:37:35 +00:00
site Update docs for iOS deployment 2020-11-19 14:50:28 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Use references instead of pointers for Metal out params. 2020-12-04 20:22:55 +00:00
tests Use references instead of pointers for Metal out params. 2020-12-04 20:22:55 +00:00
third_party [canvaskit] Add support for woff2 fonts 2020-11-10 15:07:26 +00:00
tools add util for checker image 2020-12-04 18:02:24 +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 bazel baby steps 2020-09-14 15:18:32 +00:00
.gn
AUTHORS Fix issues with latest GN 2020-11-07 13:55:45 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Reland "Add ByteCode output to skslc" 2020-12-02 15:19:46 +00:00
codereview.settings
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll ANGLE from 8670d6183a84 to 2ded93db0a0d (4 revisions) 2020-12-04 05:36:51 +00:00
go.mod update buildbot repo 2020-11-25 17:07:32 +00:00
go.sum update buildbot repo 2020-11-25 17:07:32 +00:00
LICENSE
OWNERS
PRESUBMIT.py Generate SkSL golden output files from test inputs during the build. 2020-09-14 14:54:12 +00:00
public.bzl Always enable SkSL's ByteCodeGenerator, disable interpreter in Google3 2020-11-18 21:30:45 +00:00
README
README.chromium
RELEASE_NOTES.txt Expose more info in SkCodec::FrameInfo 2020-12-02 22:37:20 +00:00
whitespace.txt
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.