Go to file
John Stiles ec24154521 Fix SPIR-V bug with swizzled out parameters.
The CL at http://review.skia.org/366399 introduced a bug with
LValue::getPointer. Specifically, getPointer used to return zero when
no pointer is available. (This happens when the LValue is a swizzle.)
That CL changed the error code to -1. However, it did not fix up all
the call sites that checked the return value of getPointer().

This CL fixes up those call sites to use -1 consistently, and adds
TODOs in spots which do not check the result from getPointer() at all
(instead assuming it cannot fail). This will allow swizzled out-
parameters to work in SPIR-V as they did before. (Except in intrinsics,
where they seem to have been broken all along, but those are now marked
with a TODO at least.)

Note that we still do not fully emulate GLSL semantics for out
parameters, as out-parameters should only be copied back to the original
variable at the end of the function call to be fully GLSL compliant.

(This CL also replaces a tuple with a named struct for readability.)

Change-Id: I708dc7a69296a4244ba9ceb85c3e68d1f331bbc9
Bug: skia:11052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368618
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-12 15:21:27 +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 Android roll broke with a compilation error: 2021-02-10 00:05:10 +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 Support structs in runtime effects 2021-02-11 21:09:15 +00:00
gm Support COLRv1 color fonts 2021-02-11 22:51:13 +00:00
gn Delete deprecated blur filter header 2021-02-12 13:49:45 +00:00
include SkColorFilters::WithWorkingFormat 2021-02-11 19:44:33 +00:00
infra further refine reruns 2021-02-11 18:29:45 +00:00
modules [skottie] Fix sphere lighting shader 2021-02-11 23:15:02 +00:00
platform_tools [SkottieView] handle calls to setSource after first animation initialization 2021-01-21 23:41:28 +00:00
resources Fix SPIR-V bug with swizzled out parameters. 2021-02-12 15:21:27 +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 Fix SPIR-V bug with swizzled out parameters. 2021-02-12 15:21:27 +00:00
tests Fix SPIR-V bug with swizzled out parameters. 2021-02-12 15:21:27 +00:00
third_party NEON libjpeg-turbo on iOS and Mac 2021-02-02 22:07:54 +00:00
tools Add UWP support 2021-02-10 19:04:42 +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 Add UWP support 2021-02-10 19:04:42 +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 Dawn from 7e80cce1a906 to d44159c23c10 (3 revisions) 2021-02-12 05:44:46 +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 rm pow2 arg to GrDirectContext::ComputeImagesize 2021-02-11 13:44:52 +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.