This is a reland of 805acda3f3
It fixes the #if SK_GL which was causing the Android roll
to fail.
This disables unit tests on Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-TSAN_Vulkan
which were consistently crashing with OOM.
Original change's description:
> [fuzzer] Remove GL from (now-Vulkan) build
>
> The fuzzer runs against the Vulkan version of Swiftshader.
> There are no libGL.so (etc) on the fuzz runtime, so we
> want to avoid linking against those.
>
> The GL code that is #ifdef'd out is still necessary to
> avoid timeouts on TSAN with our NVIDIA jobs.
> https://skia-review.googlesource.com/c/skia/+/502638
>
> Procedure for testing this locally (and iterating):
> 1. In oss-fuzz checkout, run
> `python infra/helper.py shell skia`
> to pull up local interactive version of Docker
> fuzzer build image.
> 2. Run `compile` in fuzzer shell. Stop after
> the swiftshader compiles and is copied into /out
> with Ctrl + C.
> 3. Comment out the swiftshader compilation part [1]
> (no need to re-do this when modifying Skia code).
> `apt-get install nano -y`
> `nano ../build.sh`
> 4. Make change to Skia repo using normal methods.
> 5. Run the following in the Skia repo
> `git diff origin main > foo.patch`
> Copy the patch into the Docker shell using Ctrl+C
> and nano.
> 6. Apply the patch inside the Docker shell
> `git apply foo.patch`
> and re-compile (which should skip right to
> building the fuzzer libs)
> `compile`
> 7. Repeat 4-7 or make small changes directly in
> the Docker shell via nano.
> 8. When compilation and link succeeds, run
> `ldd /out/api_mock_gpu_canvas`
> to verify GL and friends were not dynamically linked.
>
> [1] https://github.com/google/oss-fuzz/pull/7214/files#diff-76f13875e33875cdd372f1f0933206be599cd87952f1bd1eaa57ca928ee9e3e1R49-R53
>
> Change-Id: Idf569820527c1304b0e5a68fd36295be89dfa2a0
> Bug: oss-fuzz:44132
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503016
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: oss-fuzz:44132, skia:12900
Change-Id: Ia2eff9403b0035e7f86098f296d7d9b1bbfd4876
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503716
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit 805acda3f3.
Reason for revert: Looks to be breaking the Android roll. See https://android-build.googleplex.com/builds/pending/P29733268/aosp_bramble-userdebug/latest/view/logs/build_error.log
Original change's description:
> [fuzzer] Remove GL from (now-Vulkan) build
>
> The fuzzer runs against the Vulkan version of Swiftshader.
> There are no libGL.so (etc) on the fuzz runtime, so we
> want to avoid linking against those.
>
> The GL code that is #ifdef'd out is still necessary to
> avoid timeouts on TSAN with our NVIDIA jobs.
> https://skia-review.googlesource.com/c/skia/+/502638
>
> Procedure for testing this locally (and iterating):
> 1. In oss-fuzz checkout, run
> `python infra/helper.py shell skia`
> to pull up local interactive version of Docker
> fuzzer build image.
> 2. Run `compile` in fuzzer shell. Stop after
> the swiftshader compiles and is copied into /out
> with Ctrl + C.
> 3. Comment out the swiftshader compilation part [1]
> (no need to re-do this when modifying Skia code).
> `apt-get install nano -y`
> `nano ../build.sh`
> 4. Make change to Skia repo using normal methods.
> 5. Run the following in the Skia repo
> `git diff origin main > foo.patch`
> Copy the patch into the Docker shell using Ctrl+C
> and nano.
> 6. Apply the patch inside the Docker shell
> `git apply foo.patch`
> and re-compile (which should skip right to
> building the fuzzer libs)
> `compile`
> 7. Repeat 4-7 or make small changes directly in
> the Docker shell via nano.
> 8. When compilation and link succeeds, run
> `ldd /out/api_mock_gpu_canvas`
> to verify GL and friends were not dynamically linked.
>
> [1] https://github.com/google/oss-fuzz/pull/7214/files#diff-76f13875e33875cdd372f1f0933206be599cd87952f1bd1eaa57ca928ee9e3e1R49-R53
>
> Change-Id: Idf569820527c1304b0e5a68fd36295be89dfa2a0
> Bug: oss-fuzz:44132
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503016
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: oss-fuzz:44132
Change-Id: I3832417c60ff425572717d37dc9609419922b18e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503351
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Brian Osman <brianosman@google.com>
The fuzzer runs against the Vulkan version of Swiftshader.
There are no libGL.so (etc) on the fuzz runtime, so we
want to avoid linking against those.
The GL code that is #ifdef'd out is still necessary to
avoid timeouts on TSAN with our NVIDIA jobs.
https://skia-review.googlesource.com/c/skia/+/502638
Procedure for testing this locally (and iterating):
1. In oss-fuzz checkout, run
`python infra/helper.py shell skia`
to pull up local interactive version of Docker
fuzzer build image.
2. Run `compile` in fuzzer shell. Stop after
the swiftshader compiles and is copied into /out
with Ctrl + C.
3. Comment out the swiftshader compilation part [1]
(no need to re-do this when modifying Skia code).
`apt-get install nano -y`
`nano ../build.sh`
4. Make change to Skia repo using normal methods.
5. Run the following in the Skia repo
`git diff origin main > foo.patch`
Copy the patch into the Docker shell using Ctrl+C
and nano.
6. Apply the patch inside the Docker shell
`git apply foo.patch`
and re-compile (which should skip right to
building the fuzzer libs)
`compile`
7. Repeat 4-7 or make small changes directly in
the Docker shell via nano.
8. When compilation and link succeeds, run
`ldd /out/api_mock_gpu_canvas`
to verify GL and friends were not dynamically linked.
[1] https://github.com/google/oss-fuzz/pull/7214/files#diff-76f13875e33875cdd372f1f0933206be599cd87952f1bd1eaa57ca928ee9e3e1R49-R53
Change-Id: Idf569820527c1304b0e5a68fd36295be89dfa2a0
Bug: oss-fuzz:44132
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503016
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This required an update to emscripten, due to there being
a few bug fixes regarding the non-dynamic code and the
Closure compiler/minifier.
Change-Id: Icc922bd98cdd52a6923a9367da3747dac2b897b3
Bug: skia:12795
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492916
Reviewed-by: Nathaniel Nifong <nifong@google.com>
This should give us access to newer system headers. We are upgrading to
C++17, and in iOS 9, the <optional> header is buried in
<experimental/optional>.
Change-Id: I3e4d4861ddf06c6e02939f1c97857d9617284428
Bug: skia:12882
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502305
Reviewed-by: Erik Rose <erikrose@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
My hope is that with Bazel, we will be able to remove
this CIPD package in favor of a properly maintained/created
toolchain.
Change-Id: I6a7b5013da22395511d828bee857777fbe0bcd8c
Bug: skia:12878
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502289
Reviewed-by: John Stiles <johnstiles@google.com>
The SwiftShader OpenGL frontend is officially unsupported. They strictly
support their Vulkan frontend only.
Bug: skia:12218
Bug: skia:12820
Bug: skia:12826
Bug: skia:12829
Change-Id: Ib2e43783e18fcabfa2df9268c29bcd610350e5a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437149
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Christopher Dalton <csmartdalton@google.com>
Change-Id: I31eec0a4af9f0df46639f3b5e1a8c375a085f153
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/481199
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
I'm not sure why this happens; the encoding does appear to be utf-8 but
some of the characters are not valid.
Bug: chromium:1256037
Change-Id: I5865d2ee237addf0680079f7072bf70aefaa6de8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478396
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This was enabled by moving the iPhones off of the old RPI2 hosts.
This reverts commit 04cd6fba97.
This reverts commit a726978ae7.
Bug: chromium:1256037
Change-Id: I35069089aa39baf62a18235c8d0514923f327c53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477987
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This reverts commit 12e786730f.
Reason for revert: missing CIPD package on armv6l
Original change's description:
> [python3] More Recipes -> Python 3 fixes
>
> - Set environment variables to force usage of Python 3 in more places
> - Fix more compatibility issues
> - Mark recipes as only supporting Python 3
> - Includes a roll of the infra code
>
> Change-Id: I24e3827a6402c454bdc9467d28864d360632f9e6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/470303
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
Change-Id: If7b6fcb7838ac053af2c5eb45a7a1ac4aed340a5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/472736
Auto-Submit: Eric Boren <borenet@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Change-Id: I968462c5dd2139b3ff11d8d25efbd5baa3351cba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/472696
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
- Set environment variables to force usage of Python 3 in more places
- Fix more compatibility issues
- Mark recipes as only supporting Python 3
- Includes a roll of the infra code
Change-Id: I24e3827a6402c454bdc9467d28864d360632f9e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/470303
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Lots of potentially messy changes.
Also includes a major recipe roll.
Bug: chromium:1256037
Change-Id: Id05779802c5ca05921d93fa73c21930723793585
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467980
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Change-Id: Ic657319cf4f3ba2c3c23e2923cf121138d16dbf2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/457397
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Make sure graphite compiles standalone and not just if ganesh is also
enabled.
Bug: skia:12466
Change-Id: Ic843881a2a88c8d4b62f3a2ea38a10b6a86a12d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/464817
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Design doc: http://go/skia-android-hwasan.
This CL defines the following tasks:
- Build-Debian10-Clang-arm64-Debug-Android_HWASAN
- Test-Android-Clang-Pixel4a-CPU-Snapdragon730G-arm64-Debug-All-Android_HWASAN
- Test-Android-Clang-Pixel4a-GPU-Adreno618-arm64-Debug-All-Android_HWASAN
The HWAddress Sanitizer is only available on 64-bit Arm devices, and requires Android 10+ built with HWAddress Sanitizer support. There are prebuilt HWASan images for supported Pixel devices at https://ci.android.com (instructions at https://developer.android.com/ndk/guides/hwasan).
To support these tasks, we added two Pixel 4a devices to the tree, flashed with the corresponding prebuilt HWASan image. The specific Pixel devices were chosen based on stock availability.
See patchset 11 for an example error I introduced in //gm/3d.cpp, which was caught by the HWAddress Sanitizer.
Bug: skia:12099
Change-Id: Ic3847abc61c8a1bf686d29b97ef9d89b9bb5eb86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436572
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Bug: skia:12466
Change-Id: I8cfbd2b61819cb55b4fa70cfcfe523dbcb903fd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/452725
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:12466
Change-Id: I5cca024b8df9cf2203d5f09109154d02f0490445
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/451417
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
We are down to only one working device.
Replacement devices are being discussed.
Change-Id: I74ef94360daaf0e901ddf094b9141d525e52878c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448696
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Flutter uses a minimum deployment version of 9.0, and we keep breaking
their roll with unguarded features. This will help catch those sooner.
Change-Id: Idd98b2ac985c36f5c793ff27b5a4b59014875ee5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448257
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Erik Rose <erikrose@google.com>
Change-Id: I429771c977a0f01805ea49077fe8cda642f1a477
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/441308
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
This reverts commit 3bce5d1397.
Reason for revert: Speculative fix for ASAN failures on waterfall
Original change's description:
> Update bots' NDK to r23
>
> Bug: skia:12273
> Bug: skia:10754
>
> The latest version (r23) includes APIs from Android 12. It also allows
> referencing enums and structs even if __ANDROID_API__ is not set to the
> level that included them. This allows code to reference them and use
> dlsym to access the methods. This will ultimately allow Skia (or client
> - in this case Flutter) to use a single build to use the NDK APIs if
> present and fail gracefully if not.
>
> With r23, the Mac version of the NDK is now in a DMG, so rewrite its
> script to properly download, mount, and eject it.
>
> Also update the path to asan_device_setup. (See
> Iae6515b7e78c7660b4fb9fe32fd969ba563c4517.)
>
> Change-Id: I4b2eb4f49a1d45a3c18d2399f6b8006668c310ea
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439336
> Reviewed-by: Eric Boren <borenet@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
TBR=borenet@google.com,djsollen@google.com,scroggo@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
Change-Id: I77f803c51cba6672958210b5270b8b4301e12301
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12273
Bug: skia:10754
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440176
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Bug: skia:12273
Bug: skia:10754
The latest version (r23) includes APIs from Android 12. It also allows
referencing enums and structs even if __ANDROID_API__ is not set to the
level that included them. This allows code to reference them and use
dlsym to access the methods. This will ultimately allow Skia (or client
- in this case Flutter) to use a single build to use the NDK APIs if
present and fail gracefully if not.
With r23, the Mac version of the NDK is now in a DMG, so rewrite its
script to properly download, mount, and eject it.
Also update the path to asan_device_setup. (See
Iae6515b7e78c7660b4fb9fe32fd969ba563c4517.)
Change-Id: I4b2eb4f49a1d45a3c18d2399f6b8006668c310ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439336
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Replace Python 2 with Python 3 on Debian 9 Docker image, since jobs
peter out with `/usr/bin/env: 'python3': No such file or directory`.
Change-Id: I0041c408b4e889ba6985193e5f446e477bbd8705
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/438079
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
Swarming appears to have changed recently to fail loudly
if it cannot delete any files. This can happen for
our docker outputs (e.g. the /OUT/obj folder).
I am hopeful that in a Bazel world, we won't have
issues like this because of Bazel's ability to keep
things more hermetic.
Change-Id: I21d9138bc25b42794006322e1b8987787222d5da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436816
Reviewed-by: Eric Boren <borenet@google.com>
Don't have the cycles to maintain the build.
Change-Id: Ia06cd78f5920091fcad250391a4d91b039e97f5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432777
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Bug: skia:11837
Change-Id: I1c431a67f00db8f04399b9e7f34b6d466c353d37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426556
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Move some rough equivalents to Pixel2XL.
Change-Id: I8e96cdf011f02061cdbbda774b5ac53dd1581d54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422500
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Change-Id: I657ad573fe30e7793d20548c48b824229a3df3d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420538
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Change-Id: I4e00edd2d1572c3e2c1fcb56824239c166253cbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412958
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Ib0a75da6f9ee4d2cd78dcf67a1d45047264a6001
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398737
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: skia:11785
Change-Id: Ie66d0c49c978c02c23412b6525ee5d5e94f5d5d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388137
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>