skia2/resources
John Stiles 66c53b9428 Demonstrate a bug with inlined static switches.
When we detect a static switch, the optimizer finds the matching switch-
case and eliminates all the other switch-cases. It handles case
fall-through by scanning forward and looking for an unconditional break.

However, the inliner has an interesting quirk--it can replace `return`
statements inside of a switch with `continue` statements, since the body
of the inlined function has been wrapped with a for-loop to allow for
early exits. The optimizer does not recognize these continue statements
as exits from the switch (although they certainly qualify), so it
treats continues as fallen-through and keeps emitting switch-cases.

The dead-code elimination pass was actually doing us a favor here and
eliminating the excess code later. A flag was added to disable DCE in
order to reveal the problem in a test.

Change-Id: I8ff19fde5e32d0ab73d7c5411da40cb953a446f5
Bug: skia:11352
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372956
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-22 15:05:58 +00:00
..
android_fonts
diff_canvas_traces SkRemoteGlyphCache Add tracing to diff canvas 2019-10-24 17:09:31 +00:00
empty_images
fonts Roll FreeType 2021-02-16 17:00:35 +00:00
icc_profiles
images Fix images used in orientation GMs 2020-12-17 15:48:25 +00:00
invalid_images
nima
particles Fix particle bug where uniforms are allocated too late 2021-02-03 22:50:28 +00:00
skottie [skottie] Add threshold effect 2021-02-11 16:35:32 +00:00
sksl Demonstrate a bug with inlined static switches. 2021-02-22 15:05:58 +00:00
text
Cowboy.svg
crbug769134.fil
nov-talk-sequence.txt
pdf_command_stream.txt
README

The resources directory includes some third party content used by Skia.
Licenses for that code are included in this file.

Openclipart

Openclipart uses the Creative Commons Zero 1.0 Public Domain License every time
an artist uploads a piece of clipart to Openclipart to make it clear the artist
is releasing the creative work for anyone to use for any reason, even
commercially. This act of "sharing" is the foundation Openclipart is based upon.
More details on the license can be found at
https://creativecommons.org/publicdomain/zero/1.0/.

LGPL or compatible (as implied by inclusion in KDE SVN)
http://websvn.kde.org/trunk/tests/ksvgtests/custom/cowboy.svg