SK_ABORT was already using SkDebugf to print the error message to the
console, so all the moving parts were there. This CL just adds a
mechanism for the calling code to pass in arguments.
Added a use case to demonstrate usage--when an allocation fails, the
requested size is now shown in the error message.
Change-Id: I42f141151fb57a399c086926249816833f349ddb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293272
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Change-Id: I44ed5306155af089fab6d97b0e2108e637c46d63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284732
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: Ie4aad36164352dcb4ae364b3cfbabfc5f1493447
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261538
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
if a filename ends with `.py` and the file begins with '#!.*python.*',
make it executable.
Change-Id: I41de516ff37343d3b0979bde9fd61813aec7365c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254439
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Without '-x', exit codes of remote commands are forwarded to the host,
causing the shell script to terminate early.
Change-Id: I4cd8357277e22cc6d616d31bc83ba228eb8c2940
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241363
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Since it was only called by SkQPActivity.run(), I simply moved the code
into that method.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP,Test-Debian9-Clang-NUC7i5BNK-CPU-Emulator-x86-devrel-All-Android_SKQP
Change-Id: I82ef407dd440fa94e4c01c0f21a76389793ece58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225177
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
gm, slides, and samples no longer need to know about the implementation
details of AnimTimer.
This
virtual bool onAnimate(const AnimTimer&);
becomes this:
virtual bool onAnimate(double /*nanoseconds*/);
which is much easier to reason about.
AnimTimer itself is now part of viewer.
Change-Id: Ib70bf7a0798b1991f25204ae84f70463cdbeb358
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226838
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Current strategy: everything from the top
Things to look at first are the manual changes:
- added tools/rewrite_includes.py
- removed -Idirectives from BUILD.gn
- various compile.sh simplifications
- tweak tools/embed_resources.py
- update gn/find_headers.py to write paths from the top
- update gn/gn_to_bp.py SkUserConfig.h layout
so that #include "include/config/SkUserConfig.h" always
gets the header we want.
No-Presubmit: true
Change-Id: I73a4b181654e0e38d229bc456c0d0854bae3363e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209706
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Change-Id: I099f8a635df7dd0ddd3902459615250ea2c120c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209874
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: I700b7c0461475062ac66712cc29070f150cf777d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202315
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
The cloud-build is now at a new enough Clang to find these.
Bug: skia:
Change-Id: Ib7cfecb7d79194dcdeca7c0cf22a9b2dbb8cb655
Reviewed-on: https://skia-review.googlesource.com/c/181162
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
* C++ code moved into tools/skqp/src/.
* State held with single SkQP class.
* gmkb functions moved to skqp_model.{h,cpp}
* model no longer knows about report format.
* skqp_main and skqp_lib no longer have globals
* jni code has fewer globals.
* skqp_main no longer uses googletest.
* AssetMng returns SkData, not a SkStream.
* Add jitter tool.
* dump GPU information into grdump.txt
* JUnit puts report in directory with timestamp.
* Document SkQP Render Test Algorithm.
* GPU driver correctness workarounds always off
* cut_release tool for assembling models
* make_rendertests_list.py to help cut_release
* make_gmkb.go emits a list of models
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Change-Id: I7d4f0c24592b1f64be0088578a3f1a0bc366dd4d
Reviewed-on: https://skia-review.googlesource.com/c/110420
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Changed SkottieView base class to TextureView.
Implemented new SkottieAnimation interface, which allows to
get animation duration, set and get animation progress.
SkottieView will draw correctly even if animation is stopped.
Test: Ran Skottie app
Bug: skia:
Change-Id: I952793b75518107f515ddec8ad6524f4048f42e7
Reviewed-on: https://skia-review.googlesource.com/c/167945
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Change-Id: I347817c785d28340001e130a691d034cccec4ec1
Reviewed-on: https://skia-review.googlesource.com/c/165310
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
BEFORE:
V org.skia.skqp: Rendering Test 'gles_lcdtextsize' started (411/890).
I TestRunner: started: gles_lcdtextsize(org.skia.skqp.SkQPRunner)
I org.skia.skqp: Rendering Test 'gles_lcdtextsize' passed
I TestRunner: finished: gles_lcdtextsize(org.skia.skqp.SkQPRunner)
AFTER:
I TestRunner: started: gles_lcdtextsize(org.skia.skqp.SkQPRunner)
I TestRunner: finished: gles_lcdtextsize(org.skia.skqp.SkQPRunner)
I org.skia.skqp: Rendering Test 'gles_lcdtextsize' complete (411/890). [pass]
Change-Id: I40632ac1dc06da2395de83564580c0e490bc6e18
Reviewed-on: https://skia-review.googlesource.com/c/163786
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Uses Docker to compile an APK and then run it on an emulator.
We use a specialized image for build (includes Clang, etc)
And then the 3rd party base image for just the test (which
has the emulator and SDK on it).
Bug: skia:7578, skia:7692
Change-Id: I948e0b091868e7173b00e3affd7c3d59a5cd1ec2
Reviewed-on: https://skia-review.googlesource.com/c/159681
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
NDK depricated mips toolchain, which is causing a build error,
because old android gradle plugin is looking for it.
Updating to latest plugin is fixing the build issue.
Test: Built skottie demo app from command line and Android Studio
Bug: skia:
Change-Id: I0071bf996c44f96969079cb680cb05ec38efdc93
Reviewed-on: https://skia-review.googlesource.com/c/159581
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
Allow embedders to pass a font manager.
In order to avoid excessive factory API clutter, introduce an
Animation::Builder helper to wrap factory options.
Also clean up various bits:
* hoist scene parsing out of the Animation ctor
* store the animation duration explicitly (instead of unused fps)
* plumb const SkFontMgr& internally (instead of a ref)
Change-Id: I3e180dfa85ba18c8462cfeb5a7385bef985ed6c4
Reviewed-on: https://skia-review.googlesource.com/148800
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Create a new Skottie test app, which plays lottie files using
a TextureView.
Implement SkottieView, which takes a JSON input stream and
plays the animation.
Bug: skia:
Change-Id: Ic62688b91692c28f35b13356d1e99b4d15d3e30f
Reviewed-on: https://skia-review.googlesource.com/130125
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Stan Iliev <stani@google.com>
Main things to look at:
1) onDrawFrame changes + moving many functions as separate helpers
2) SkARFingerPainting changes (name should change too)
Bug: skia:
Change-Id: I5068ce6c416a2f5d6c6c389cd63d08d5350e83e6
Reviewed-on: https://skia-review.googlesource.com/143701
Reviewed-by: Mike Reed <reed@google.com>
Looks like new Gradle (4.1) changed the output location from
build/outputs/apk/{app}-{target_cpu}-{android_buildtype}.apk
to
build/outputs/apk/{target_cpu}/{android_buildtype}/{app}-{target_cpu}-{android_buildtype}.apk
TBR=
Change-Id: I45ed38e1f1655f82ef4a205ef7e8baf3f2da50af
Reviewed-on: https://skia-review.googlesource.com/142806
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Java-only version of SkAR: drawing on android Canvas
Bug: skia:
Change-Id: I76285aa85c7523ad9ae213d32a159b671d8aa30f
Reviewed-on: https://skia-review.googlesource.com/141048
Reviewed-by: Mike Reed <reed@google.com>
To run this app, you need to create an out directory as such:
bin/gn gen out/arm64 --args='ndk="NDK_PATH" target_cpu="ABI"'
For now, the only supported ABI is arm64
Change-Id: I012f0c6a0550d80a0028f42177d5ca72974d848d
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/130980
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ziad Ben Hadj-Alouane <ziadb@google.com>
The "/" character is not a valid character for method names in the
CTS testing environment and is causing problems with some of the
tooling so we are replacing the "/" with "_".
Bug: b/80096930
Change-Id: Icdf790b0975f7c4205153887ffabaaaa85f07592
Reviewed-on: https://skia-review.googlesource.com/129581
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
This reverts commit b5f2897ab5.
Reason for revert: looks like this broke the build for DM in Google3. Need more include dirs there?
Original change's description:
> IWYU for tests starting with 'D'.
>
> Change-Id: I9189e4b56ce1635b627119733447c2ed4220753d
> Reviewed-on: https://skia-review.googlesource.com/129319
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
TBR=bsalomon@google.com,bungeman@google.com,herb@google.com
Change-Id: I01aac7dae6114685a0652cbde3defccc8a42caea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/129443
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:6473
Change-Id: I67b0dbf6dba26233df1d8e44f3e2f69ca0cc9d3e
Reviewed-on: https://skia-review.googlesource.com/128320
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
The reason we push Json updates for every frame is to support the
Android FPS meter - which happens to require the native FPS meter for
updates.
Instead of supporting two meters:
1) scale up the native FPS widget on Android (1.5x)
2) remove the Android widget
3) stop calling updateUIState() from onPaint()
Change-Id: Ica8109869035b2f885743a7e38b50688b69fa5e4
Reviewed-on: https://skia-review.googlesource.com/126621
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
PLEASE NOTE: Instructions for running a single test have changed!
No-Try: true
Change-Id: I1923240e879daa7ff0556737ddd5aa3f58e0097c
Reviewed-on: https://skia-review.googlesource.com/109566
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
PLEASE NOTE: Instructions on running `am instrument` for the
SkQP APK have changed.
To run a single test, see the section "Running a single test"
in `tools/skqp/README.md`.
No-Try: true
Change-Id: I0a2cbc47755929d6c6a927a3591ff98046779c77
Reviewed-on: https://skia-review.googlesource.com/108780
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
- tools/skqp/generate_gn_args.sh - single script to generate
configuration used to build SkQP.
- tools/skqp/make_model.sh - script to execute make_gmkb.go and put
the results in the correct place.
- tools/skqp/{up,down}load_directory_contents.sh - scripts to move
large assets into the cloud and retrieve them.
- tools/skqp/gm_runner.cpp - treat missing text files as empty.
- tools/skqp/make_apk.sh - make use of generate_gn_args.sh.
- tools/skqp/make_{model,known_tests}.sh - better error handling,
and also stop calling `git add`.
Change-Id: Ib1803b4d68e63945f2c47f8eb6cb96375d24e3be
Reviewed-on: https://skia-review.googlesource.com/98842
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Also clean up some things, fix docs, whitelist.
Change-Id: I2818d973978ffe1b8ce0cc9c69f8d91ab4a0ef22
Reviewed-on: https://skia-review.googlesource.com/91805
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Switches over to writing output to the sd card.
Change-Id: Ic287a741b9af471f823a7e97eb0c6d3d20f639d6
Reviewed-on: https://skia-review.googlesource.com/96380
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
Adds activities to the skqp app so it can run as an Android
app (as opposed to just instrumentation tests).
A user can trigger the tests via a button.
Adds the an intent receiver so the tests can be triggered on
Firebase Testlab via the gameloop option.
It adds the run_testlab.go script to run an apk across devices
on Firebase Testlab.
Bug: skia:
Change-Id: I3ff5c37d743fa47913a916a0fa1e7db3c2cc79c7
Reviewed-on: https://skia-review.googlesource.com/89163
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Generate report in app after running all tests.
* Add script to unpack backup.ab file.
* Remove unused index file.
* Streamline instructions in README.md.
Change-Id: I44c80b17332eb4496ee31578287b691bd646d71a
Reviewed-on: https://skia-review.googlesource.com/86742
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Add a real implementation for gm_knowledge.h This depends on
the presence of files in the form $GMK_DIR/foo/{max,min}.png
The implementation also writes out failures in a report directory.
Add a utility: experimental/make_gmkb which is a stand-alone
go executable that generates the foo/{max,min}.png data.
tools/skqp/README.md has instructions on running SkQP.
Also: add SkFontMgrPriv.h
Change-Id: Ibe1e9a7e7de143d14eee3877f5f2d2d8713f7f49
Reviewed-on: https://skia-review.googlesource.com/65380
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
A previous change to Viewer removed a key setTag() call that
meant that the logic to replace the SurfaceView on a toggle
between OpenGL/Raster was not able to execute, making the app
useless after that toggle was performed.
BUG=skia:
Change-Id: Idddb7612209ce83d3461155c59f451407118e1d5
Reviewed-on: https://skia-review.googlesource.com/8789
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chet Haase <chet@google.com>
The previous approach re-inflated views on every frame simply because the FPS
number changed (which was passed in a JSON object and used to check whether
the old view matched the new one based on a tag on the view that was set by
the previous FPS string).
The new approach is not pretty (there's no reason to even re-populate the
views when the only thing that needs to happen is to set the appropriate
FPS info in the floating TextView), but at least this avoids the inflation
overhead of the previous approach.
BUG=skia:
Change-Id: Ide1c736c49663cfcf478653a7cdaa99c736f1783
Reviewed-on: https://skia-review.googlesource.com/8461
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Chet Haase <chet@google.com>
Delete files only used by GYP, and files that used GYP. Neither can
possibly be actively used. Beyond that, just a couple doc tweaks.
Change-Id: I0220d7226e7bb9ed7c54a7d8f2906a718313c521
Reviewed-on: https://skia-review.googlesource.com/8062
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Hal Canary <halcanary@google.com>
We're generating Android.bp from BUILD.gn, so no need for the old
version.
Change-Id: Ie5bcec1d4f15d0e9a178feb9191e42c872bd8e08
Reviewed-on: https://skia-review.googlesource.com/7639
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Change-Id: I6e7f41df094ae037538ebd61e40385d7e2e9eb26
Reviewed-on: https://skia-review.googlesource.com/6615
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This also includes the removal of an old example whose instructions
are not compatible with GN.
BUG=skia:6009
Change-Id: I2807829ca12c19292ae0f5a7ea250ed453f9a182
Reviewed-on: https://skia-review.googlesource.com/5620
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Remove the tests for gyp_to_android.py, which is going away anyway.
With a .bp file in the Android source tree, the Android build system
attempts and fails to build them.
Do not attempt to run the deleted tests.
Change-Id: Idfecd79917bf6e6d70b601bf36b0f1bdf69c90b6
Reviewed-on: https://skia-review.googlesource.com/6112
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Leon Scroggins <scroggo@google.com>
This spins off parts of 5620 to bake while we work through how to do the rest of libviewer.so -> viewer.apk.
Change-Id: I1cbf135cc952eeb7593e80a5a752dcadaa2dbb00
Reviewed-on: https://skia-review.googlesource.com/5656
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
- nothing uses ashmem;
- cpufeatures and native_app_glue are now pulled from the NDK;
- no bots use the scripts in platform_tools/android/bin;
- update scripts to work with GN instead of GYP.
Change-Id: I14f47eeadb3047505e232dd10385f58ef12c73f4
Reviewed-on: https://skia-review.googlesource.com/5422
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Currently, there's only a simple Activity with a title bar and a surface view
that connects with Skia viewer native application.
Before integrating user action events, I want to make sure that the design and
implementation so far are good. Note that the old NativeApplication-based
Activity (ViewerActivity) is still there for reference and test purposes. It
will be removed eventually.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952323004
Review-Url: https://codereview.chromium.org/1952323004