Go to file
Brian Osman 2a4c0fbdca Improve memory layout handling in SPIRV generator
Added asserts that verify we don't try to emit the same struct or array
with two different memory layout rules. Some code paths were failing to
inspect the associated variable, leading to incorrect errors about the
attached offsets of members.

Added a test case that triggered that error, and also triggers the new
asserts.

Then, fixed the underlying cause: writing out the struct definition as a
side effect of accessing a member in getLValue().

Bug: skia:11205
Change-Id: I6e5fb76ea918ec9ff10425f2d519ddbc54404b27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/357436
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-01-22 22:16:48 +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 SkSL: Remove ByteCode interpreter, generator, etc. 2021-01-22 14:38:41 +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 [canvaskit] Remove Sk from nearly all function/type names. 2020-10-07 21:01:32 +00:00
dm Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
docker [docker] Fix build by pointing to correct path 2021-01-22 17:34:56 +00:00
docs/examples Simplify common case for recttorect 2021-01-15 18:37:46 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental SkSL: Remove ByteCode interpreter, generator, etc. 2021-01-22 14:38:41 +00:00
fuzz More hiding of legacy drawImage calls 2021-01-22 13:53:42 +00:00
gm Fix lighting image filters 2021-01-22 20:13:48 +00:00
gn Improve memory layout handling in SPIRV generator 2021-01-22 22:16:48 +00:00
include More hiding of legacy drawImage calls 2021-01-22 13:53:42 +00:00
infra Revert "Revert "Reland "asyncRescaleAndRead supports unpremul results on GPU""" 2021-01-22 14:21:01 +00:00
modules Remove SK_SHAPER_HARFBUZZ_USE_BAD_SCALE 2021-01-22 20:54:25 +00:00
platform_tools [SkottieView] handle calls to setSource after first animation initialization 2021-01-21 23:41:28 +00:00
resources Improve memory layout handling in SPIRV generator 2021-01-22 22:16:48 +00:00
samplecode More hiding of legacy drawImage calls 2021-01-22 13:53:42 +00:00
site Enforce ES2 limits on indexing expressions (in runtime effects) 2021-01-15 22:49:27 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Improve memory layout handling in SPIRV generator 2021-01-22 22:16:48 +00:00
tests Improve memory layout handling in SPIRV generator 2021-01-22 22:16:48 +00:00
third_party Roll freetype 2021-01-22 20:09:59 +00:00
tools Revert "Revert "Reland "asyncRescaleAndRead supports unpremul results on GPU""" 2021-01-22 14:21:01 +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 Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
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 Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +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 freetype 2021-01-22 20:09:59 +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
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py Add presubmit check for git conflict markers 2020-12-16 17:51:16 +00:00
public.bzl [canvaskit] Remove custom_embedded_factory from G3 build 2020-12-23 12:59:36 +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 Fix lighting image filters 2021-01-22 20:13:48 +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.