`atest` will now properly create a RuntimeShader for each of the SkSL
runtime_error tests, and report an SkQP failure if the errors listed
within the test's *%%* markers are not thrown.
This CL also fixes a string-handling bug in `get_sksl_error_tests` which
could cause garbage bytes to appear at the end of shader text. (The code
accidentally assumed that an SkData would have a zero terminator.)
Bug: skia:13042
Change-Id: I971c2a78b8e1c2801a49ce8cd660520d2df5e519
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522358
Reviewed-by: Leon Scroggins <scroggo@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Previously, when we wanted to run multiple test types, we cloned the
outer testing loop and had a bunch of duplicated logic for translating
test results into TestRunner success/failure. This worked, but
maintaining duplicate code can be a chore (see
c5d130aac0:platform_tools/android/apps/skqp/src/main/java/org/skia/skqp/SkQPRunner.java?l=102 )
Instead of going back to that approach, I've factored out the logic for
individual tests into a bare-bones "TestExecutor" interface. The outer
work loop takes a TestExecutor and iterates over every test in it.
Unit tests and SkSL error tests can each implement this interface as
needed. For this CL, actual SkSL error test handling is not yet
implemented, so the SkSL tests will all be listed as passing (in
0-1 milliseconds).
In a followup CL, SkSLErrorTestExecutor#run will be implemented to match
the behavior of the C++ SkSL error tests.
Change-Id: I7ff2cf32baaa3ea46d1ad930885365dde0b9ce22
Bug: skia:13042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522101
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Previously, we had a member variable `mShouldSkipTest` which existed to
track the filtered-or-not state of individual unit tests. Now, when a
unit test is filtered out, we just replace it with an empty Description
in the array of unit test descriptions.
`mShouldRunTestCount` was also unnecessary as it should always exactly
equal the number of child tests contained in the test-suite.
Bug: skia:13042
Change-Id: I541ba755ceabf9355a12f7de58e73ae302f62090
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521636
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
In a followup CL, we can attempt to compile these shaders via the
RuntimeShader API and verify that compilation fails.
Change-Id: I5366024bd3a6b2efd720acbff0d6c1a6d331e8e5
Bug: skia:13042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521536
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
We no longer intend to run visual GMs from SkQP.
Change-Id: Ib04958a3d445078d65b72e852afc69781873b93c
Bug: skia:13031
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520546
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
The Android builds of SkQP will conditionally exclude any tests that are
not flagged with `SkQP`.
Note that local builds of the C++ skqp binary do not actually set
SK_BUILD_FOR_SKQP. This flag is set by gn_to_bp. So local skqp binaries
will continue to run these tests. A possible fix for this limitation
has been written in the followup CL: http://review.skia.org/518939
Change-Id: I879650d165c5931693b14102586bae2c9e45dd43
Bug: skia:13037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518936
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
This is an old activity that generates a 5x5 film strip of lottie animations on Android devices.
While unlikely, if this removal breaks something, it will most likely be in our lottie gold instance.
Change-Id: I2d3f6b81b2e5481ed0ae581d2fd86e4e61020e54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512154
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
This reverts commit dec95f24e1.
Reason for revert: broke viewer build
The original CL was landed to keep upstream Skia the source of
truth when the changes were proposed directly in G3 in cl/414839941.
Original change's description:
> Migrate compat v4 classes to androidx
>
> Change-Id: I9dd1d4cbaaf0dc5c4dc8a7bd9155ae6334ab24af
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/480396
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
Change-Id: I660ba61a3a777e18154c52e8eda63937be4d7b4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507184
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Current behavior, as an example, is to run every test not matching ".+ES3"
but this is subject to change based on Brian Osman's input
Bug: skia:12796
Change-Id: Ib798a6a6e6323ae0cf349010fce3f5982f2038bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498976
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Going forward specific GMs can be added to the rendertest.txt
in order to do a basic pass/fail run based on whether the GM
can successfully complete without crashing.
The output of the executable was also updated to print one test
per line in order to make following its execution more readable.
Bug: skia:12777
Change-Id: I98f6fa7af765130ddf68203d62c972659fd4e325
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/489617
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Consolidate the common logic in a Gradient base class, and add
radial/conical/sweep factories.
Change-Id: Ife15ae78e7c6df48cfa67fe20054f9bd9a8a1e90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420897
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Paint both sides (two passes), and skip a face for inside visibility.
Change-Id: I138d790578c4ce30c7d4df9400485a983c1f9e95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414900
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Additionally, pass return value from native save and saveLayer to java
Change-Id: I1a4e04305ba8e57f6a639978b00f8e2ca1a59f90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415170
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Also update SkottieSample to always clear its dest rect (for animations
which are not opaque).
Change-Id: I36c6172d468567ee8e03d97dd707e03ca968aa26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414898
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Convert existing RuntimeShaderActivity to use RuntimeSample, and add
a couple to the cube demo.
Change-Id: Ibc6056cd6c7939c13bd902ce848c49a211b9b334
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413737
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Convert existing SkottieActivity to use a Skottie Sample, and also add
one to the cube demo.
Change-Id: I86193889d293ddd653b0cac7200e830fa873ea69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413736
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Introduce a Sample interface for abstracting out various demos/samples.
Implement a simple image shader sample for starters.
Update the cube demo to map samples to sides.
Change-Id: I9c9c70fa05634404ced7bd30739f6e884546b91d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413441
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Update the cube sample to be centered and sized relative to the target
surface.
Also simplify projection handling:
- pre-compute a full view matrix in onSurfaceInitialized()
- set the origin to the surface center
- compute perspective and camera transforms in local coordinates
(instead of unit view cube)
Also fix (invert) fling Y direction.
Change-Id: I48a3d0b4547812fb3c9b49a9842fb18c0ed0d863
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413436
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>