Enable ExposeNonConformantExtensionsAndVersions in
aosp so that these deqp tests that use es version
3.2 can pass on Android CTS:
dEQP.EGL/functional_image_create_gles3_android_native_array_rgb565_texture_array
dEQP.EGL/functional_image_create_gles3_android_native_array_rgb8_texture_array
dEQP.EGL/functional_image_create_gles3_android_native_array_rgba8_texture_array
Bug: angleproject:7351
Change-Id: Ic03ea0e3e46a65134a88dd8dce95611d42427bd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3709402
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
The //build dir was recently added to AOSP roll.
We can't merge it due to inclusion of a prebuilt debuggable APK.
Failing roll:
https://android-review.googlesource.com/c/platform/external/angle/+/2086946
File in question:
angle/build$ find . -name "*.apk*"
./android/CheckInstallApk-debug.apk
This CL adds it explicitly to the files to strip before committing.
Test: ./scripts/roll_aosp.sh and inspect //build
Bug: b/231365398
Change-Id: Ic5487a88dd50a0ff54311b4870682671a5ebc080
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3629943
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Also removes OWNERS files stripping as these are no longer a problem.
Bug: angleproject:7219
Change-Id: Ib791bac3cf161958430363805ea47747e26644cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3598010
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Per https://chromium-review.googlesource.com/c/chromium/src/+/3520025
the old gn arg "libcxx_abi_unstable" was removed, and we need to set
"use_custom_libcxx = false" instead.
This will hopefully fix the ANGLE->AOSP autoroller that was broken by
the above CL.
Bug: angleproject:7110
Change-Id: I3b6de998964efb674ea356a14e852f0e285b7242
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3546721
Reviewed-by: Ian Elliott <ianelliott@google.com>
Auto-Submit: Ian Elliott <ianelliott@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
This was removed as a gn arg by: crrev/c/3520025. That broke the
ANGLE->AOSP autoroller.
Bug: angleproject:7110
Change-Id: I3d8b4483b75fb168e91078ff5ee0a53298d98efb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3542990
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
The ANGLE autoroller into AOSP is currently stuck due to a merge
conflict in third_party/glmark2. Specifically, this directory was
deleted in AOSP, but modified in upstream ANGLE.
The solution is to add back the third_party/ directories into AOSP, and
the ANGLE-owned files. The full contents will not be added back if
they are a git submodule.
Some third_party/ directories will continue to be deleted due to how
large they are:
third_party/jdk
third_party/llvm-build
third_party/android_build_tools
third_party/android_sdk
We can look into adding these back in the future if it becomes
necessary.
Additionally, the license information in the Android.bp is being updated
to reflect the newly added files.
Bug: angleproject:6635
Change-Id: I793e5b0797218963a4d06a0399b3be80edd43b37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251685
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
The GN args 'dcheck_always_on' was recently enabled by default, which
resulted in an increase to ANGLE's APK size in AOSP from 16.3MB to
20.6MB. Adding 'dcheck_always_on = false' to roll_aosp.sh to disable the
feature reduces the APK back to the original 16.3MB size.
Bug: b/189125396
Change-Id: I606c30fe49291fa893228644c4b1fe4dd5fbeabf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3048933
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
In an effort to better satisfy the Android legal/license requirements:
1.) Cleanup the license data in the generated Android.bp.
2.) Remove unused Android.mk files.
Bug: b/191882454
Change-Id: Ia1937c1e2e822e688cca2a4d3ebc9a294f67ad69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021851
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
1.) Remove unused zlib contrib/ directories
- There are missing licenses in third_party/zlib/contrib/, so remove the
unused directories from the AOSP checkin.
2.) `git add` all third_party/ changes
- All of the unused third_party/ changes have been manually merged, so
we can now automatically add any changes to third_party/.
Bug: b/191882454
Bug: b/187342779
Change-Id: If209ff3bb34ad53c08f431a06a2f84d153181e45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992578
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
The 'gn gen' step in roll_aosp.sh is failing due to trying to access
third_party/rapidjson/BUILD.gn, which isn't in AOSP. The rapidJSON
library is required to build the ANGLE libraries with frame capture
enabled, which isn't necessary for AOSP builds.
This CL adds the GN arg 'angle_has_rapidjson' which roll_aosp.sh will
set to 'false' to prevent 'gn gen' from attempting to access
third_party/rapidjson/BUILD.gn.
Bug: b/187342779
Change-Id: I6fcc0e94b6325be7523e35f966b8e4dbc708e3b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2973338
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
The command to delete unused third_party/ directories needs to be more
specific to delete unused third_party/vulkan-deps/ directories.
Additionally, use the flag '-path', since that's more portable than
'-wholename' which is GNU-specific.
Bug: b/187342779
Change-Id: Ie8b02360d0d86f9b42141212aaa6c2aa27a063c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965605
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Remove unused third_party/ deps from the Android checkins to reduce
the license burden from unused libraries.
Bug: b/187342779
Change-Id: I87358377d0dbbc644cb85555464f4afad9d5c333
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954924
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Add some flags to generate_android_bp.py to make the AOSP match the
ANGLE build flags, which makes the CQ testing more relevant and reduces
the ANGLE APK size. Additionally, disable various GN args that are no
longer required (GL, ESSL, HSSL). Together, this reduces the ANGLE APK
size in AOSP from 22.2MB to 16.7MB.
This CL also makes some fixes to roll_aosp.sh that are suggested by
"Shell Scipt".
Bug: b/189125396
Test: manual verification
Change-Id: Iea33de799a00ffff182cf028a6998e1ef01a00e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2912933
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Rolling ANGLE into AOSP currently generates several build errors. This
CL fixes them.
Bug: angleproject:5919
Bug: angleproject:5873
Change-Id: Ic24c3c27a2dd3a1db4d6d2e3642eb1b16148569a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2863883
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
roll_aosp.sh can now generate an Android.bp file without having to
perform a roll. This facilitates on demand generation of Android.bp.
Provide an option to enable API traces with "--enableApiTrace" flag.
Usage -
# Generates Android.bp and perform a roll
./scripts/roll_aosp.sh
# Generates Android.bp
./scripts/roll_aosp.sh --genAndroidBp
# Generates Android.bp with API tracing enabled
./scripts/roll_aosp.sh --genAndroidBp --enableApiTrace
Bug: angleproject:5774
Change-Id: I3a2bd505f5d75d6d5fc331d61fa9517d6042db70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774758
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
... to support using ANGLE as a native GL driver.
Note: this will not affect devices installing the APK with
`PRODUCT_PACKAGES += ANGLE` and will *not* also install the
libs to vendor.
Bug: b/147316305
Bug: angleproject:5456
Test: ./scripts/roll_aosp.sh and build in AOSP
Change-Id: I98cab8d0735a4f66293ac063e0eef2ae7ddbee7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2618529
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Add a --copy-to-vendor-partition optional argument to both roll_aosp.sh
and generate_android_bp.py. When specified the root targets will be
generated with vendor: true and a relative install path to egl folder,
so that we can use ANGLE as the Android OpenGLES driver when the system
starts up.
Test: run roll_aosp.sh --copy-to-vendor-partion, build the Android image
with m -j72, load the image with the Android emulator and find all ANGLE
related *.so's are under the /vendor/lib/egl folder.
Bug: angleproject:5456
Change-Id: I38c64e8ea3ad5f5d0cc0b8cd77856f49109b23c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568907
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Gclient sync would get stuck if the deps were left in a bad state
from a previous failed roll. Pass the same args as the Chrome bots
to forcefully sync.
Bug: b/150458033
Change-Id: I6bd1aefbd7e4db22dd08acf781b6a08985f600da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551533
Reviewed-by: Geoff Lang <geofflang@chromium.org>
rm will error when the file is missing without the -f flag. We delete a
few files without checking that they exist first.
Bug: b/150458033
Change-Id: I5a104d383f59d418eaa55534526194f626c88f57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523372
Reviewed-by: Geoff Lang <geofflang@chromium.org>
The definition _LIBCPP_ABI_UNSTABLE breaks std::string in Android AOSP
builds, starting with GetHelperExecutableDir(), but others fail later
if that's worked around. Instead, we'll disable that flag with a GN arg
for AOSP rolls.
Bug: angleproject:5263
Test: Build on AOSP and launch Cuttlefish
Change-Id: Ia4b293a5ce0b09206f4ed87a5a442e544e2021c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508529
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
This is the first step in uploading histogram data instead of a gtest
special format. We importing several new libraries:
- tools/protoc_wrapper
- third_party/protobuf
- third_party/catapult (was already used for Android)
No functional change. Only affects compilation. Protobuf support is
disabled when not available.
Bug: angleproject:5161
Change-Id: I64be0977648993b1012ff0d9e0439c5876697e36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497221
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Rolling ANGLE into AOSP requires the following fixes:
1.) Update scripts/roll_aosp.sh to not delete third_party/abseil-cpp.
2.) Update BUILD.gn to add a dependency on libnativewindow for
"angle_common".
Test: AOSP Presubmit
Bug: angleproject:5230
Change-Id: If97c44ce041e576edc7c0c43700030b4538e8ab5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495550
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
The current roll_aosp.sh is generating an invalid Android.bp by
including the local repo's .git file:
cc_genrule {
name: "angle_commit_id",
tool_files: [
"src/commit_id.py",
],
cmd: "$(location) gen $(location commit.h)",
srcs: [
".git/refs/heads/rollAngle",
],
sdk_version: "28",
out: [
"commit.h",
],
}
This is fixed by enabling the GN arg 'angle_enable_commit_id=false' in
the script:
cc_genrule {
name: "angle_commit_id",
tool_files: [
"src/commit_id.py",
],
cmd: "$(location) gen $(location commit.h)",
sdk_version: "28",
out: [
"commit.h",
],
}
Bug: angleproject:5050
Test: Manual verification in AOSP checkout
Change-Id: I08a08084c4c25411b29b22544c2ed8c06f6f54d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2412790
Reviewed-by: Geoff Lang <geofflang@chromium.org>
With the introduction of ABI-specific build targets (zlib), the script
generate_android_bp.py needs to be updated to consume ABI-specific gn
descriptions and generate ABI-specific build rules for each target.
The roll_aosp.sh script was updated to generate ABI-specific gn
descriptions for each:
arm
arm64
x86
x64
Bug: b/160727922
Test: Manual script execution and building in AOSP
Change-Id: I459b388176f8fcc010f9f5668535d941b931cdd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2285272
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
zlib is required to compress program binaries. It also pulls in the
ndk for cpufeatures. Since the ndk is so large, only pull roll in the
required sub-folders.
BUG=angleproject:4776
Change-Id: I4967a06fd8bfb27040ad0c2f60fec265d555488a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2255507
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
third_party/VulkanMemoryAllocator/OWNERS also includes owners that block
uploading.
Move the deletion of the bad files earlier in the script and rm them
instead of git rm. They may or may not be committed git files but rm
always works.
BUG=b/150892231
Change-Id: Iee60fba504ed1c16e994ed1ba83d2b7c58c0a01c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2154537
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
There are two issues doing the merge in the script:
- This command makes the merge specific to an AOSP branch
- It uses the version of roll_aosp that is from the previous roll
instead of the ToT version.
BUG=b:150892231
Change-Id: I579484092ca3d8c5e0e2d4d4bd1272eaeccc9da3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152667
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Add a list of files that should be removed when rolling ANGLE into
Android. The jsoncpp OWNERS file fails to upload to the Android gerrit
because it contains owners that have never signed into the Android
gerrit.
BUG=b:150892231
Change-Id: I699dada53cdda2fbd012733a7a91eb8b5fb79d35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152668
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
This flag is not supported on mac and generates errors when trying to
roll.
BUG=b:150892231
Change-Id: I22d10a2b9b37610d409df4d72e0aba2672f7b192
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152666
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
We previously used the existing Android target for vulkan headers but it
does not roll as fast as ANGLE's, possibly causing divergence in test
results.
BUG=angleproject:2344
BUG=b:150892231
Change-Id: Ibef33b266943c040219529f64ea8cd29c8c9bf83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090394
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
- Disable unused backends and shader compilation targets.
- Build for "arm64" to make sure ANGLE_64_BIT_CPU is defined.
- Use a better merge command now that the branch histories are related
BUG=angleproject:2344
Change-Id: I33949e701379caacf6a392a3bb0eb3523627be14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090685
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>