scripts/generate_android_bp.py


Log

Author Commit Date CI Message
Yuly Novikov 9eecd3a3 2025-08-25T07:50:36 Revert "Skip clang modules in Android.bp" This reverts commit dddb8a6f815780227f31c982e1f5c7f9e41f40a9. Reason for revert: not needed after https://chromium-review.googlesource.com/c/chromium/src/+/6862663 Bug: chromium:439827607 Original change's description: > Skip clang modules in Android.bp > > These aren't used in Android build, but still listed as dependencies in > GN output and generate_android_bp.py tries to generate rules for them. > > Bug: chromium:439827607 > Change-Id: I01c5c38e15fb4b674f63a6be8ab060e84c381454 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6876280 > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Auto-Submit: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: chromium:439827607 Change-Id: Ic0406ec99a4fad35cf7009c1bb80b081d318d35a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6875545 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov dddb8a6f 2025-08-22T17:26:02 Skip clang modules in Android.bp These aren't used in Android build, but still listed as dependencies in GN output and generate_android_bp.py tries to generate rules for them. Bug: chromium:439827607 Change-Id: I01c5c38e15fb4b674f63a6be8ab060e84c381454 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6876280 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Renato Pereyra d36f1d71 2025-07-15T14:55:30 Enable AFDO for the Android EGL/GLES libraries built in-tree Bug: b/432060204 Bug: b/383305597 Test: Built ANGLE in Android tree Change-Id: Ifecc3ba56fb4c05133cca4d1ac35049bd6d59726 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6757853 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov a035c7b6 2025-07-03T16:33:11 Fix rolling to Android after googletest update Because of changes in googletest build files, re2 must be rolled into Android as well. Bug: angleproject:428697844 Change-Id: I3960cccf7cca808b8e4cc2d5f0def030a57f956f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6705237 Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuxin Hu 40fde5ff 2025-05-09T11:56:28 Handle the action target in GN that has more than 1 python script If the action target requires more than 1 python script to complete the job, they all need to be listed under "tool_files" entry in Android.bp, so that the Android build system is able to place all of the files in the same sandbox, and thus avoids the problem of not able to find the python files needed. This change adds a helper function separate_py_files_from_bp_srcs_entry() that extracts the ".py" files out from "srcs" entry in Android.bp, and place them under "tool_files" entry. This change also adds the workaround to handle action args that have special prefix at the front of the file path. Bug: b/416750698 Change-Id: I6163d7d155fed61e205d69dd8eac37a9c38132ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6533857 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov a3d8058e 2025-03-27T15:21:20 Stop rolling more deps into Android Remove not needed dependencies: third_party/bazel third_party/colorama third_party/proguard third_party/turbine Bug: None Change-Id: I6da1610b7fcb700decbf7f6778e920030a419dc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6402455 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov d671a625 2025-03-25T18:55:43 Further remove r8 and android_system_sdk from Android rolls https://chromium-review.googlesource.com/c/angle/angle/+/6387225 removed them from third_party, but some files were still referenced by Android.bp Bug: None Change-Id: I18a208e60239320b1315590e8e967ee996f3e4d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6393655 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 421109ac 2025-02-27T16:14:40 Unpin aosp builds from C++17 As Yuxin pointed out upstream libcxx was updated so we shouldn't need to pin in Android any more. We still can't have C++20 code in ANGLE due to Skia, so some of (Chromium CI) bots will continue building as C++17. Bug: angleproject:330910097 Change-Id: I41a9a1f727ae47ccb450853b8a5ed0f0f5edd26d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6309328 Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 76691d27 2024-12-04T13:00:24 Insert "-U_FORTIFY_SOURCE" in Android.bp cflags Fix "redefining FORTIFY_SOURCE macro" compiler warning on Android build. Bug: b/291762537 Change-Id: Ic346f858291336d92a3b0654ddfa8468919fee6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6071324 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Zijun Zhao <zijunzhao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 367e9e74 2024-10-14T09:37:42 Android: Update targetSDK to 35 Platform hard requirement for 24Q4 is 35 for all pre-load apps. Results diff to Android.bp: $ diff Android.bp.before Android.bp 8035c8035 < target_sdk_version: "34", --- > target_sdk_version: "35", 8062c8062 < target_sdk_version: "34", --- > target_sdk_version: "35", 8101c8101 < target_sdk_version: "34", --- > target_sdk_version: "35", Bug: b/369722011 Change-Id: Ia39beb98cd81416746913a636f707d008ceaf2a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5929666 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop e8fdc341 2024-10-03T17:50:20 Android: Update targetSDK to 34 Since ANGLE ships as part of the platform, we need to target a more recent SDK version. Resulting Android.bp diff: $ diff Android.bp.before Android.bp.after 8034c8034 < target_sdk_version: "33", --- > target_sdk_version: "34", 8061c8061 < target_sdk_version: "33", --- > target_sdk_version: "34", 8100c8100 < target_sdk_version: "33", --- > target_sdk_version: "34", Bug: b/369722011 Change-Id: Ide7506256305733cc4617e798a67704fa729caa8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5908423 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kaiyi Li 42c85cc4 2024-09-13T12:52:25 roll_aosp: move the non conformant cflags to a cc_defaults ... so that the downstream can customize it easier. Test: generate the Android.bp and build on aosp/main branch with the cf product Bug: b/366518715 Change-Id: Ie4f028bcfb45b650a98b21b46e645b3aabf63c20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5862029 Auto-Submit: Kaiyi Li <kaiyili@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Kaiyi Li <kaiyili@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov c91e2792 2024-09-13T14:22:19 Tests: aosp end2end test lib depends on _ndk_ gtest/gmock This appears to resolve build issues in https://crrev.com/c/5857112 Re-enable end2nd test target in aosp. Bug: b/279980674 Change-Id: Icf8f1cf9868564b70515cb121526a3a1210e8b27 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860262 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuxin Hu 96733038 2024-09-12T16:10:53 Add back sdk_version entry to build targets ANGLE in android repo are failing to compile on some lunch targets: e.g. mainline_modules*, with sdk_version entry removed from build targets. For instance, after removing sdk_version for build target libEGL_angle, compilation failed with this error message: ``` error: external/angle/Android.bp:8174:1: dependency "libEGL_angle" of "ANGLE" missing variant: os:android,arch:arm64_armv8-a,sdk:sdk,link:shared available variants: os:android,arch:arm64_armv8-a,link:shared os:android,arch:arm_armv8-a,link:shared ``` Add back sdk_version entry to the build targets. END2END_TEST_TARGET needs to be disabled, because with sdk_version entry added to END2END_TEST_TARGET, the target failed to compile due to its' dependency libgmock is missing the variant: ``` error: external/angle/Android.bp:699:1: dependency "libgmock" of "libangle_end2end_tests__library" missing variant: os:android,arch:arm64_armv8-a,sdk:sdk,link:static ``` Bug: b/279980674 Change-Id: I96ea45b93519b84d72a70559d1ade9076ef9d955 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5857112 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 22c39d24 2024-09-09T11:14:27 Android aosp: remove sdk_version from most rules (try 2) Missed another line in https://crrev.com/c/5845930 Bug: b/279980674 Change-Id: I357654f39cb2d37f6a9b3016fe31fdb053575e3c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845910 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov bfadbe80 2024-09-09T14:25:26 Revert "Tests: temporarily disable end2end test .so library in AOSP" This reverts commit 2deb9534d550dbacf024ed9250f8bfa95d505a3b. Reason for revert: aosp builds fixed by https://crrev.com/c/5842687 and https://crrev.com/c/5845930 Original change's description: > Tests: temporarily disable end2end test .so library in AOSP > > aosp build failures: https://r.android.com/3258459 > > Bug: b/279980674 > Change-Id: I64cbd4821f542436d15e0d9e32a306bdceeeafa3 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5842021 > Commit-Queue: Roman Lavrov <romanl@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> Bug: b/279980674 Change-Id: I296e4a36c259e5d862b7aa45718bec8168b21f0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845931 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 18aeee88 2024-09-09T10:08:05 Android aosp: remove sdk_version from most rules This doesn't seem necessary and is breaking end2end builds that we're enabling. Note that we already have these in the top-level rules which are not going to be affected by this change: 'sdk_version': 'system_current', 'target_sdk_version': TARGET_SDK_VERSION, 'min_sdk_version': MIN_SDK_VERSION, Bug: b/279980674 Test: aosp presubmit https://r.android.com/3260111 Change-Id: I50b9843ec8bf859717f94681374d4ece1a4505c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845930 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 2deb9534 2024-09-06T18:31:35 Tests: temporarily disable end2end test .so library in AOSP aosp build failures: https://r.android.com/3258459 Bug: b/279980674 Change-Id: I64cbd4821f542436d15e0d9e32a306bdceeeafa3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5842021 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 49a8d05c 2024-09-05T17:41:07 Tests: Add end2end test .so library to AOSP build m[mm] external/angle:libangle_end2end_tests__library produces libangle_end2end_tests__library.so I tested that integration with Chromium wrappers works with some manual patches; no integration is included in this CL. googlest/gtest dependencies replaced with platform libgtest, libgmock TestSuite heavily depends on rapidjson so it is currently excluded, only the standard gtest implementation is included (--gtest_list_tests, --gtest_filter, --gtest_output etc) This also disables support for expectation files as it is piped through TestSuite instance. Bug: b/279980674 Change-Id: I35cb2328d74a3ac778e1d93bb4fe4ac044920b6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5838526 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Marcin Radomski 4c883359 2024-07-03T13:50:58 Add dma_buf build support to generate_android_bp Minimized version of go/anglecl/5729843 that limits introduced changes. Make generate_android_bp.py emit a `angle_android_dma_buf` Soong config variable that, when enabled, creates a "Linux-like" build using Android toolchain. The build does not assume the presence of regular Android graphics stack. eglGetDisplay defaults to creating DisplayVkOffscreen. This enables EGL rendering context setup based on an externally allocated DMA-BUF, using EGL_EXT_image_dma_buf_import and GL_OES_EGL_image_external extensions. See ag/28533701 to view the generated code. Also, revert changes from "Add build flag for a "dma_buf" Android build" (commit 4d2b365582669a04224d1e1fa3c92447c359a4ba). The flag added there was submitted a bit prematurely, and as go/anglecl/5729843 was deemed too complex a different approach was necessary. Test: CQ Test: Build the entire CL chain with the new Soong config flag enabled Test: run the system, attach debugger to eglGetDisplay(), see Test: DisplayVkOffscreen getting instantiated Bug: b/353262025 Change-Id: I974d91cff79a0bd8b5059a145f0ae6114b2bcbe5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5746214 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Marcin Radomski <dextero@google.com>
Yuxin Hu c9744617 2024-07-25T14:07:38 Fix Unknown Android Git Hash in Android Builds The ANGLE git hash is generated by running the script src/commit_id.py during compile time. However, in Android repo, access to .git is not guaranteed. This results the "unknown hash" value being generated by src/commit_id.py when compiling ANGLE in Android repo. To fix it, instead of invoking the src/commit_id.py during compile time, invoke the script during ANGLE to Android roll time. This change: 1) Removes the code in generate_android_bp.py that exports the build target angle_commit_id into Android.bp, so that the script src/commit_id.py is not invoked when compiling ANGLE in Android. 2) Invokes src/commit_id.py in aosp_roll.sh, to generate the angle_commit.h when we roll ANGLE changes into Android. Sample results with this change in Android is https://googleplex-android-review.git.corp.google.com/c/platform/external/angle/+/28476591 Bug: b/348044346 Change-Id: I91862ba6ab20ffb2cf9e99ee9b4fa6b83727c634 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5741631 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Solti b8cc14d7 2024-07-26T21:13:10 skip lib starting with "//" when generating Android bp The issue is http://b/354737043#comment10. Based on the discussion, we would like to skip lib starting with "//", such as "//third_party/llvm-build/Release+Asserts/lib/clang/19/lib/linux/libclang_rt.builtins-xxx" in this case. We can revisit this implementation when we actually need something that starts with "//" Bug: b/354737043 Test: Compare the Android.bp before and after the change. Change-Id: I21f799f1a4946a0662e1190a2e962bc37dc714ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5742651 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov f47a882a 2024-07-26T14:47:48 Cleanup: remove vulkan_clean_old_validation_layer_objects Target removed upstream: https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/8242/commits/12048d7d846e9020a11feb8650587f6898414d50 Bug: angleproject:350816748 Change-Id: I0ea5c4c54960e49c9b6d37f1932c2121bdfc6529 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5741787 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuly Novikov b71fe1c5 2024-05-16T15:10:09 Flatten vulkan-deps. Sub-repos will be now checked out in third_party directly, instead of under third_party/vulkan-deps. Bug: chromium:341002187 Change-Id: Ia1c10ce5e7865c164b29bdcabb6ab8a7e4ae35b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5545577 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yiwei Zhang 5c78d084 2024-05-04T23:20:36 Android: explicitly disable stack protection This isn't needed by aosp build angle sp-hal and helps reduce cpu overhead. Bug: b/331680143, b/333235176 Test: 5% gain in gfxbench gl_driver2_off score on x86 Change-Id: I0e8662987ef040b1ac5df34a69e90c158363b36f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5516929 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Yiwei Zhang 465f6b7d 2024-05-03T20:52:55 Android: forward visibility flags This results in a 25~35% perf gain for gfxbench gl_driver2_off on x86 platforms. See also https://gcc.gnu.org/wiki/Visibility Bug: b/331680143, b/333235176 Test: 25~35% gain in gfxbench gl_driver2_off score on x86 Change-Id: I5fb1174ae21f9feb33b8350e21f7cc5445b9cf25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5513280 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 93da22dd 2024-03-22T16:10:51 use_cxx17=true in arm debug compile Android rolls currently require C++17, set ANGLE to C++17 to prevent Android roller breakage Bug: b/330910097 Change-Id: I94ef05f91a3532a42876e27b296342552aede974 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5387270 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Peiyong Lin d9644823 2024-02-29T00:55:23 Make ANGLE by default built to system partition on Android Now that ANGLE on system is in fully released, clean up the build file configuration and remove the flags, but add an option to allow ANGLE to be built in vendor partition so that clients can continue using ANGLE on old OS versions. Bug: b/293503000 Test: atest CtsAngleIntegrationHostTestCases Change-Id: Ie53c2a92493bbab016bef967aacb10b3754aca57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5333890 Commit-Queue: Peiyong Lin <lpy@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Peiyong Lin <lpy@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kaiyi Li dcffb53e 2024-01-30T19:41:49 Revert "Clean up ANGLE on system build configuration." This reverts commit 98e026685123f19f01304dcdc1deb2f52cb80f67. Reason for revert: This CL breaks the build for the downstream user that is using the main branch ANGLE on some old udc branch Android tree(b/322960439): Original change's description: > Clean up ANGLE on system build configuration. > > Now that ANGLE on system is in fully released, clean up the build file > configuration and remove the flags. > > Bug: b/293503000 > Test: atest CtsAngleIntegrationHostTestCases > Change-Id: Ic31911e097b479861d380e44ec424131c928a9aa > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5234093 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> > Auto-Submit: Peiyong Lin <lpy@google.com> > Commit-Queue: Peiyong Lin <lpy@google.com> Bug: b/293503000 Bug: b/322960439 Change-Id: I506150d7e5802b8f6cc0fee45105a5423ab06b5d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5251056 Commit-Queue: Peiyong Lin <lpy@google.com> Auto-Submit: Kaiyi Li <kaiyili@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Peiyong Lin <lpy@google.com>
Peiyong Lin 98e02668 2024-01-24T23:47:11 Clean up ANGLE on system build configuration. Now that ANGLE on system is in fully released, clean up the build file configuration and remove the flags. Bug: b/293503000 Test: atest CtsAngleIntegrationHostTestCases Change-Id: Ic31911e097b479861d380e44ec424131c928a9aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5234093 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Peiyong Lin <lpy@google.com> Commit-Queue: Peiyong Lin <lpy@google.com>
Roman Lavrov d20c693a 2024-01-25T16:57:49 Android.bp: add empty lines as bpfmt wants With this, bpfmt produces the same output as what we generate. Bug: b/322387417 Change-Id: I44882d9d0906ca202bb48a8d062b17721ec93d51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238773 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov 127dabe5 2024-01-25T11:55:09 Android.bp: Move cflags repeated in each target to cc_defaults At the moment there are 24 such flags so Android.bp also gets reduced by a couple thousand lines. One of them is DCR_CLANG_REVISION which changes frequently and will now be a single-line change. Also add --output flag to the script, print() can be useful for quick debugging. Example diff (first few libs only) https://diff.googleplex.com/#key=eVUN8izqTcWe Bug: b/322338350 Change-Id: I21b987e3c7101c0bcbefa4a3b4ff30b1a4154ce4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5236720 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 6fcca069 2024-01-25T13:48:34 Add a note on why ANGLE is pinned to C++17 vulkan_memory_allocator uses std::popcount conditionally on C++20, and it's currently missing from external/libcxx as it wasn't updated yet Bug: b/311052584 Bug: b/175635923 Change-Id: I51728cfa13ccb5c24eab13baabb8c08b275e258f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238766 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Spandan Das dd936c23 2024-01-16T20:27:36 Android: Build angle libs with a shared copy of libz Soong creates two variants of angle libraries - a platform variant and an sdk variant (because it sets sdk_version in bp). This CL changes the link type of angle --> libz to a shared link dependency from a static link dependency This affects the variants in the following ways 1. Platform variant: Links against (shared,platform) variant of libz ld diff https://diff.googleplex.com/#key=pw6D7KHophSB 2. Sdk variant: Links against (shared,sdk) variant. This is really the ndk variant of libz. ld diff https://diff.googleplex.com/#key=g9ffVxxAesEk Both (1) and (2) have the incidental benefit that it decreases the size of the angle libraries since libz is no longer statically linked into angle libraires. In case of (2), we have an additional benefit of actually enforcing an api boundary between angle and libz. Before this CL, angle could access implementation of libz. After this CL, angle can only access the public apis of libz. Bug: b/281077552 Test: presubmits on https://android-review.git.corp.google.com/c/platform/external/angle/+/2907477 Test: Inspected ninja graph (ld diffs attached) Change-Id: I745abb836878a5b6e195fb9ddb359673308f9fac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5201878 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Spandan Das <spandandas@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Spandan Das <spandandas@google.com>
Peiyong Lin fca3eb6b 2023-12-12T23:00:41 Refactor ANGLE settings UI. This patch refactors the ANGLE settings UI to make sure it aligns better with the settings global variables. This patch: 1) moves all ANGLE rule parsing logic to its own class, the parsing will only parse the rule and store them, it currently does not set the settings global variables; 2) removes the global enablement as it is now an option in Developer options and that one has better guarding condition; 3) refactors the logic to query all packages in the system, instead of constructing them with raw package name, use application name to allow a more user-friendly UI, and also allow to toggle for system applications. 4) adds two new entries to allow building ANGLE apk without any ANGLE libraries; 5) adds a README.md file to document the design. 6) removes unused functions and variables and minor renames. Bug: b/293503000 Test: manual Change-Id: I7287935791c00040b0eacba7dce3e4df5eb4de3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5118135 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Peiyong Lin <lpy@google.com>
Tomasz Wasilczyk 3698f3f3 2023-11-15T10:36:16 Angle: pin cpp_std to gnu++17 This project doesn't build with gnu++20 and prevents AOSP default to be upgraded to a newer standard. Once the build failure is fixed here, this change can be reverted. Bug: b/311052584 Test: scripts/roll_aosp.sh --genAndroidBp Test: m checkbuild (on AOSP) Change-Id: Ia820e7ea67e6fee812b85f0568c66e1ca4a88705 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5032449 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peiyong Lin 4066fddd 2023-10-31T21:36:25 Add flag to move ANGLE binaries to /system/${LIB}. Previously ANGLE binaries were built into /vendor/${LIB}/egl, but since ANGLE is in AOSP and we would like to make sure shipping ANGLE is not blocked by vendor partition update, this patch moves ANGLE to /system/${LIB}. Relative path is eliminated as subdirectory is not preferred unless necessary. With the flag, if angle_on_system is set to true, then ANGLE libraries will be built into /system/${LIB}. Bug: b/293503000 Change-Id: I86448ca313bc4f66e1ca78e05797b02a3b8d318a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4996366 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Peiyong Lin <lpy@google.com>
Roman Lavrov 8e8b4dc9 2023-10-24T10:05:58 Aosp builds -O2 instead of -Os -Os is rarely used in the native driver. Native driver actually has -O3 in e.g. gles entry points, and -O2 in most other places. We'll try to switch ANGLE standalone and Chrome to -O2 as well, so preferring -O2 here as well for now. In my local aosp builds the (sum of) binary size increase is as follows: -Os: 8.4M -O2: 9.0M (+7%) Bug: b/306391262 Change-Id: Id9d0b7607dbe9b7b40541df4469ecba20f4f76c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4969835 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Peiyong Lin bbf083e0 2023-08-22T14:50:37 Revert "Move ANGLE binaries to /system/${LIB}." This reverts commit 86d128c0f37f4ed1c598319c418ae13a37bfb909. Reason for revert: Need more work in AOSP and to figure out a way to properly land this. Revert now to unblock autoroller. Bug: b/293503000 Test: boot with Pixel Original change's description: > Move ANGLE binaries to /system/${LIB}. > > Previously ANGLE binaries were built into /vendor/${LIB}/egl, but since > ANGLE is in AOSP and we would like to make sure shipping ANGLE is not > blocked by vendor partition update, this patch moves ANGLE to > /system/${LIB}. Relative path is eliminated as subdirectory is not > preferred unless necessary. > > Bug: b/293503000 > Test: boot with Pixel > Change-Id: I51561e20344c5b714fb22a2afc7871477eb2637e > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4750441 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Solti Ho <solti@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> Bug: b/293503000 Change-Id: Ib7c678b0088543a091f269639259ee2fc9871757 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4802268 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Peiyong Lin <lpy@google.com>
Peiyong Lin 86d128c0 2023-08-03T19:58:21 Move ANGLE binaries to /system/${LIB}. Previously ANGLE binaries were built into /vendor/${LIB}/egl, but since ANGLE is in AOSP and we would like to make sure shipping ANGLE is not blocked by vendor partition update, this patch moves ANGLE to /system/${LIB}. Relative path is eliminated as subdirectory is not preferred unless necessary. Bug: b/293503000 Test: boot with Pixel Change-Id: I51561e20344c5b714fb22a2afc7871477eb2637e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4750441 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Solti Ho <solti@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Joanna Wang 95d88a5b 2023-08-03T13:44:44 Update llvm repo paths. Bug: chromium:1458042 Change-Id: Ibb7fa0ba9008c341e3f38eece86fa0ca4ffc2210 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4746862 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov e1a34cbf 2023-07-24T09:51:45 Android.bp generation: vulkan-headers LICENSE.txt -> .md Bug: angleproject:8271 Change-Id: I7e31ce26afcf8da22f6aa8518433bb131be4e74b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4711825 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov d6dc46db 2023-07-14T17:51:26 Revert "Add minimal setup for Go codegen in Android.bp." This reverts commit 9f7b6babe1fd7313a6a344d037aed542505d126e. Reason for revert: No longer appears needed as 1) number of diffs was greatly reduced via cc_default 2) build configs got simpler with switching to platform zlib. No recent conflicts introduced by build scripts Original change's description: > Add minimal setup for Go codegen in Android.bp. > > Based on Cody's http://ag/19603310. > > Only adds libEGL_angle_codegen to libEGL_angle and is a no-op. > > Tested in an aosp checkout. Hopefully this doesn't cause merge conflicts > with internal master as all diffs are close to the top of the file. > > Android.bp diff: https://paste.googleplex.com/6626641357832192 > > Bug: b/242929755 > Change-Id: I6d7ac9f3dd502074c41838bd1aa10075a8c99145 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3876890 > Commit-Queue: Roman Lavrov <romanl@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: b/242929755 Change-Id: Id4cbdf68e9704138396ee1bef7a4f1edef3f50cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685320 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
yanhongchen b03a018c 2023-06-15T19:36:16 Android: Add privapp-permissions XML Bug: angleproject:8210 Bug: b/242671681 Change-Id: I57d14eb026fab319e080cedcfefd5c160c1321d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4617552 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Prashanth Swaminathan c49674d1 2023-06-02T15:34:49 Remove stale Android NDK and references [2/2] Now that chromium/base has rolled and switched the android_ndk_root to the new android_toolchain directory, remove the stale Android NDK. Fix roller scripts to no longer roll Android NDK and Android blueprint generation can remove references to the removed sources. Bug: chromium:1448383 Test: Verified build of ANGLE. Change-Id: Iba8bfd8be9fd6bfb4f75f5d3a273411bd11f6b5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4585389 Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 080d4adf 2023-04-11T13:59:05 Set target_sdk_version to 33 instead of system_current Follow up on https://crrev.com/c/4414227 which fails to roll into Android: https://r.android.com/2530860 (invalid version in sdk_version "system_current") Bug: b/275459680 Change-Id: I1603fdee4dfffaf80591b0ec2d3700a5e639cfc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4414232 Reviewed-by: Kaiyi Li <kaiyili@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov f0848fc5 2023-04-11T10:17:48 Move targetSdkVersion to Android.bp and set to system_current Also adds android:exported="true" which is required for newer SDKs. Bug: b/275459680 Change-Id: I8ae5b67c1d3ccca867139fc1d9043308e03ffb6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4414227 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Roman Lavrov 024114b2 2022-12-16T11:32:30 Reland "Replace zlib from chrome by Android's zlib." Add zlib to delete_only_deps, otherwise gclient seems to choke on it https://crbug.com/skia/14155#c3 Also git add $root_add_dep instead of "$root_add_dep/*" as the latter wouldn't add deleted directories like third_party/zlib in this case. We also need zlib in unsupported_third_party_deps so that it gets deleted after gclient sync. When a file from a nested git repo was already added to the tree previously, git no longer relies on .git subdirectory detection and works as if .git wasn't there. This is a reland of commit 39f0eaf8095b303b09951ceb6ffda8254ed24c8d Original change's description: > Replace zlib from chrome by Android's zlib. > > Implements Elliott's https://r.android.com/2360448 in our codegen. The > only diffs are ordering and third_party_android_ndk_cpu_features. > We only seem to depend on cpufeatures for zlib. > > //third_party/zlib/google:compression_utils_portable is the root > dependency, so cutting it makes other zlib libs disappear from > Android.bp > > zlib_google_compression_utils_portable and libz_static > that this CL depends on were added in https://r.android.com/2359720 > > Tested by running roll_aosp.sh in Android tree and building. > third_party/zlib got deleted locally so presumably it should > get deleted by the roller > > Bug: b/262603863 > Change-Id: I2651cc21121d741526055fa2b0288d0dcfa5c62a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111891 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Roman Lavrov <romanl@google.com> Bug: b/262603863 Change-Id: I87226e294a3e293ed5fcdeb2f0cf52f55917c1f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4300169 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov a0736135 2023-03-01T15:17:07 Revert "Replace zlib from chrome by Android's zlib." This reverts commit 39f0eaf8095b303b09951ceb6ffda8254ed24c8d. Reason for revert: Broke roller https://crbug.com/skia/14155 Original change's description: > Replace zlib from chrome by Android's zlib. > > Implements Elliott's https://r.android.com/2360448 in our codegen. The > only diffs are ordering and third_party_android_ndk_cpu_features. > We only seem to depend on cpufeatures for zlib. > > //third_party/zlib/google:compression_utils_portable is the root > dependency, so cutting it makes other zlib libs disappear from > Android.bp > > zlib_google_compression_utils_portable and libz_static > that this CL depends on were added in https://r.android.com/2359720 > > Tested by running roll_aosp.sh in Android tree and building. > third_party/zlib got deleted locally so presumably it should > get deleted by the roller > > Bug: b/262603863 > Change-Id: I2651cc21121d741526055fa2b0288d0dcfa5c62a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111891 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Roman Lavrov <romanl@google.com> Bug: b/262603863 Change-Id: Ie17cb5b63a2c86a7414230bf9b0e8ef16e8734bb No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4298280 Commit-Queue: Roman Lavrov <romanl@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov 39f0eaf8 2022-12-16T11:32:30 Replace zlib from chrome by Android's zlib. Implements Elliott's https://r.android.com/2360448 in our codegen. The only diffs are ordering and third_party_android_ndk_cpu_features. We only seem to depend on cpufeatures for zlib. //third_party/zlib/google:compression_utils_portable is the root dependency, so cutting it makes other zlib libs disappear from Android.bp zlib_google_compression_utils_portable and libz_static that this CL depends on were added in https://r.android.com/2359720 Tested by running roll_aosp.sh in Android tree and building. third_party/zlib got deleted locally so presumably it should get deleted by the roller Bug: b/262603863 Change-Id: I2651cc21121d741526055fa2b0288d0dcfa5c62a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111891 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuxin Hu 3159a4da 2023-02-03T17:58:15 Add temp gn_response_file to $(genDir) directory in Android build According to https://android-review.git.corp.google.com/c/platform/external/angle/+/2420140, the Android source tree will be made read-only eventually. Move the temporary file to the $(genDir) directory. Bug: None Change-Id: I1f39c2ee52f15dba54f88a700ac9d571c3860d37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4222356 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 82826be0 2023-01-06T11:20:14 Reland "Make ANGLE program version only dependent on data that matters" This is a reland of commit 61728827d2e5ecce685578bc54bb2c744b65fc9a Changes made on top of previous commit 1. In src/program_serialize_data_version.py, fix the script error on Windows: anglebug.com/7918. 2. In BUILD.gn, replace the 'write_file' with 'response_file_content'. See https://gn.googlesource.com/gn/+/main/docs/reference.md#var_response_file_contents 3. In scripts/generate_android.bp.py, add code to handle the special GN build flag {{response_file_name}}. The code writes the list defined in srcs (identified by $(in) in Android blueprint) into a temp file named 'gn_response_file', and replaces the {{response_file_name}} with 'gn_response_file'. Original change's description > Changes made on top of original commit > 1. Enable execution permission on python script > program_serialize_data_version.py > 2. Remove unused list in libGLESv2.gni > 3. In angle/BUILD.gn, change file path from > "relative to angle_root", to "relative to root_build_dir", > so that inside the script program_serialize_data_version.py, > we don't have to find the absolute path of the code files for > hashing. > Original change's description > > This change introduces a new variable ANGLE_PROGRAM_VERSION > > to track the version of ANGLE source files that affect shader > > program serialization/deserialization. This change include more > > source files than necessary, to serve the purpose of a conservative > > jumping off point. We will narrow down the list of files for > > ANGLE_PROGRAM_VERSION hash generation in the future. > > Add a new script program_serialize_data_version.py that will > > be triggered during the build when the related source files changed. > > The script will generate a hash and the hash size from the related > > source files. In program serialization/deserialization and cache > > key generation, we will use this hash value instead of the entire > > ANGLE git hash. When the hash value changed, we know that the > > related source files changed, and we should invalidate the program > > cache and re-generate the blob cache / program binary. > > Bug: angleproject:4981 > > Change-Id: I2fb609416738d459d3289190c232c2d797ba58e3 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4072215 > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Cody Northrop <cnorthrop@google.com> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Yuxin Hu <yuxinhu@google.com> > Bug: angleproject:4981 > Change-Id: Iaa9eb0ab33439197bc30d03064fc245ea7ef1ea8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113445 > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:4981 Change-Id: Ib5bba199be6d08a1e19807026df0e7b747dbc8a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4144078 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop bdb127da 2022-12-02T10:53:22 Android: Remove smhasher license Removed in: https://chromium-review.googlesource.com/c/angle/angle/+/4066987 Causes the ANGLE to Android roller to fail: https://android-review.git.corp.google.com/c/platform/external/angle/+/2323099 Error: external/angle/Android.bp:6474:1: module "external_angle_license": module source path "external/angle/src/common/third_party/smhasher/LICENSE" does not exist Bug: b/260426695 Change-Id: I974d79f155b1077d8d42555245fed1eed69056f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4073983 Commit-Queue: Solti Ho <solti@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Solti Ho <solti@google.com>
Cody Northrop 35247a4d 2022-11-23T17:19:19 Android: Remove java_api_finder from Android.bp No longer used in Android. Mirrors the following change: https://android-review.git.corp.google.com/c/platform/external/angle/+/2316258 Test: None Bug: b/260268418 Change-Id: Idb6c31b9d31a17108979f2ecca0d28cef60a11fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4053263 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 4d096ce4 2022-09-28T10:57:58 Move cflags added by script to its own cc_defaults. This simplifies the downstream "-fno-unwind-tables" diff as we'll have it all in one place, and also avoids having it dependent on `arch` (which adds complexity as described in b/242929755#comment6) Android.bp diff (might take a while to render): https://diff.googleplex.com/#key=2ssQav0Jzifk Search for `third_party_zlib_zlib_arm_crc32` to see how it resolves the `arch` issue. Tested locally that it builds (arm64 and x64). Bug: b/242929755 Change-Id: I46c71e50942dfe42075b7ffef722e6c009fbf316 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3923457 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov f65554d9 2022-09-27T11:30:38 functools.cache -> functools.lru_cache .cache is "too new", >= py3.9 and just wraps lru_cache to look nicer. Bug: b/246559064 Change-Id: Id4f4fd7b5ef88deee4b46ff9eab442c4fa2644fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3922774 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov c630e283 2022-09-26T11:52:56 Cleanup: simplify merge_bps. Less code and branching by using dict.setdefault, dict.get, set.intersection, comprehensions. Did this while looking into b/242929755#comment6 and found the code a bit difficult to follow. Bug: b/242929755 Change-Id: I6f6da6b2986e7c5a278573d6eaf730913d47b5a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3918851 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov bc21af43 2022-09-23T11:38:17 Cleanup: readability and make --genAndroidBp non-destructive. `roll_aosp.sh --genAndroidBp` used to nuke out/Android. Move that out of the function so that it's only nuked when ran without args. Add a warning at the top of roll_aosp.sh. Use explicit flags to avoid dependency on keeping ABI ordering in sync between roll_aosp.sh, also makes it easier to understand when looking at --help etc. Use all caps for module-level constants, common in python. Replace @cache with python3's @functools.cache. Switched to python3 in https://crrev.com/c/3907879. Bug: b/242929755 Change-Id: Ib3fcd46c283f00e3d2d573c1ac7bbb6f6c1231e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3913627 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 3782c4fb 2022-09-14T12:39:33 Move Android.bp change from internal http://ag/18177202 to aosp http://ag/19953212 reverts the change from internal branch and this CL re-adds it via the ANGLE -> roll_aosp.sh -> aosp route so Android.bp will now match between the branches. Bug: b/224558229 Bug: b/232149402 Bug: b/246559064 Change-Id: I0e25670717a56985981bc241654122b113e57575 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891548 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 9f7b6bab 2022-09-07T11:01:37 Add minimal setup for Go codegen in Android.bp. Based on Cody's http://ag/19603310. Only adds libEGL_angle_codegen to libEGL_angle and is a no-op. Tested in an aosp checkout. Hopefully this doesn't cause merge conflicts with internal master as all diffs are close to the top of the file. Android.bp diff: https://paste.googleplex.com/6626641357832192 Bug: b/242929755 Change-Id: I6d7ac9f3dd502074c41838bd1aa10075a8c99145 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3876890 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov f859f97f 2022-09-02T14:33:29 Use the same build_info in all functions and cache nodes. Recursive traversal results in visiting the same nodes many many times. With this CL, timing goes from: 234.47s user 0.45s system 99% cpu 3:55.00 total to: 0.24s user 0.04s system 99% cpu 0.281 total without any diffs in the output file. Bug: b/242929755 Change-Id: Id058f43859fc46bc416d8467ff4dca2fb8e46777 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3870659 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 2f9d0810 2022-08-31T21:04:04 Revert "Sort items to avoid python2/3 diffs." This reverts commit b43a004567b060a6c01eb546bc7b055f00288c14. Reason for revert: causing merge conflicts across Android branches Original change's description: > Sort items to avoid python2/3 diffs. > > python3.x made ordering of iteration of built-in dicts match insertion > order which differs from python2. > > This will also make it easier to find things in .bp as keys will be in > sorted order. > > Bug: b/242929755 > Change-Id: I9c204fd7f8500b55ee4b24cbace0cc474dc48266 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863009 > Commit-Queue: Roman Lavrov <romanl@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: b/242929755 Change-Id: I9c0f6fc8baa164b3256e93c4d1cfbd69c1797a4d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863665 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov b43a0045 2022-08-31T10:58:06 Sort items to avoid python2/3 diffs. python3.x made ordering of iteration of built-in dicts match insertion order which differs from python2. This will also make it easier to find things in .bp as keys will be in sorted order. Bug: b/242929755 Change-Id: I9c204fd7f8500b55ee4b24cbace0cc474dc48266 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863009 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tim Van Patten fce240c0 2021-10-29T12:35:48 AOSP: Use '-Os' rather than '-Oz' Cuttlefish recently hit a clang compiler issue related to -Oz: b/200617543 This is fixed by either disabling optimizations for ScopedExit or using -Os. This CL will switch ANGLE to using -Os. When building CF in AOSP, the binary size is reduced with -Os vs -Oz: -Oz: 16,383,489 bytes -Os: 16,152,509 bytes Bug: b/200617543 Change-Id: Ic920b0e0e4a61453d9657101a4560f74d90d5744 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253128 Reviewed-by: Jason Macnak <natsu@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 683ab738 2021-10-28T14:02:49 Android: Add back third_party/ to AOSP 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>
Tim Van Patten 90401067 2021-09-02T13:33:16 Android: Remove premake/LICENSE.txt from Android.bp The ANGLE roll is failing in AOSP due to: https://android-build.googleplex.com/builds/pending/P25700586/aosp_arm64-userdebug/latest/view/logs/build_error.log error: external/angle/Android.bp:7126:1: module "external_angle_license": module source path "external/angle/third_party/vulkan_memory_allocator/premake/LICENSE.txt" does not exist The issue is that file was removed as part of the roll, so scripts/generate_android_bp.py needs to be updated to remove the file from the 'license_text' block. Bug: angleproject:6356 Change-Id: I7db3a14ac07ea164deced630621bac2c26cd9d39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140561 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 05716b9f 2021-07-22T16:01:06 Cleanup license_text to remove missing license files The initial list of files speficied for license_text in generate_android_bp.py included license files that aren't present after issuing: git clean -f -x -d -f While the list will build correctly when rolling ANGLE locally, since roll_aosp.sh doesn't issue a 'git clean', it fails to build on the Android presubmit bots. Bug: b/191882454 Test: git clean -f -x -d -f ; m ANGLE -j50 Change-Id: I31efba1f5030b118838ba1a21501f32200c93db3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046958 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 2ec44d07 2021-07-22T14:15:03 List all license files in Android.bp Update generate_android_bp.py to list all of the license files in external/angle. Bug: b/191882454 Change-Id: Ie13fb9199c7216b5468bf91994526fdcd8552be1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046509 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jeff Gilbert afda22b0 2021-07-19T16:46:50 Define ANGLE_IS_64_BIT_CPU in common/platform.h. This is more reliable and reduces reliance on build flags. Vendoring into Firefox, it's not trivial to replicate build flags, but C++-native checks always work. Bug: angleproject:6186 Change-Id: Idafd4ef1954efbfa79eae86cddfaa8f2e3992296 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036589 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 16a9a892 2021-07-12T15:30:57 Cleanup license data and remove Android.mk files 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>
Tim Van Patten a09052ea 2021-06-29T16:18:15 generate_android_bp.py: Don't include buildtools/third_party/libc++/ The buildtools/ directory is not included in the AOSP version of ANGLE and is unnecessary, so update generate_android_bp.py to filter out that include directory. Bug: b/187342779 Change-Id: I3a2d0506ac53f7d369597c797fffb211ffde41f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2995382 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten c40262dc 2021-06-10T17:27:45 Remove unused third_party/ deps from Android checkin 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>
Tim Van Patten 4df2e8ce 2021-05-24T13:15:45 Reduce ANGLE APK size 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>
Tim Van Patten 51feebb4 2021-05-21T16:23:39 Add LOCAL_LICENSE_KINDS to generate_android_bp.py Upstread the AOSP license changes that keep getting reverted: https://android-review.googlesource.com/c/platform/external/angle/+/1704346 Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: third_party/android_ndk/sources/android/cpufeatures/Android.mk Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-GPL SPDX-license-identifier-GPL-2.0 SPDX-license-identifier-GPL-3.0 SPDX-license-identifier-LGPL SPDX-license-identifier-MIT SPDX-license-identifier-Zlib legacy_unencumbered to: Android.bp via generate_android_bp.py Bug: b/186906888 Change-Id: I86081cfe2858702ed350ce8c72afaaa8eb5566b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2912918 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 89ac8a44 2021-05-19T10:48:40 Fix Loading ANGLE.apk in Android The recent CL to remove the Settings GUI from the Android-built APK went a little too far removing Java code and emptying the AndroidManifest.xml. This resulted in ANGLE being unable to be loaded from the APK, since ANGLE was not able to respond to the intent android.app.action.ANGLE_FOR_ANDROID which indicates it contains ANGLE libraries. The AndroidManifest.xml requires various flags like android:forceQueryable="true" so the APK can be accessed by the framework. The assets/ directory was removed, which contains 'a4a_rules.json' and is required by GraphicsEnvironment. This is added back. Bug: b/187342779 Change-Id: Ic7b758c92ed12750972c7e313729276a13f76032 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906632 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 417d912a 2021-05-05T18:20:27 Remove Settings GUI from AOSP Builds and make product-specific The Settings GUI is being removed from the AOSP build to turn the ANGLE APK into essentially a container APK containing the necessary libraries. This reduces the APK size and reduces the risk of users enabling ANGLE by accident. Additionally, ANGLE is being marked product-specific to remove it from all AOSP builds. Bug: b/187345862 Change-Id: I6e1acb9c6e07b419d40aee43d7260060027999ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2876213 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 57202fb0 2021-04-30T13:56:11 Fix Rolling ANGLE into AOSP 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>
Lubosz Sarnecki 37752956 2021-02-11T16:12:48 Generators: Use fixed year in license headers. Remove dynamic year generation from generator scripts, as required by the Chromium C++ style guide. The dynamic year values were replaced by the current year at the time the file was created according to git log. The code to dynamically generate the year was removed. This patch also refreshes generated files and hashes. Bug: angleproject:5516 Change-Id: I735028bccb5c83217e92c380538f1abf0a906b2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690950 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jason Macnak d392af02 2021-01-12T10:08:31 Update roll AOSP scripts to reflect vulkan-deps subdirectory Performing a roll with this changes produces https://android-review.googlesource.com/c/1548235 Bug: b/147316305 Bug: angleproject:5456 Test: scripts/roll_aosp.sh && m ANGLE Change-Id: I0f5a698e81a1299abde7cfccb4e1467c8dc02aad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2625168 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jason Macnak 2c65da28 2021-01-08T11:49:18 Default roll_aosp.sh to copy artifacts to vendor partition ... 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>
Kaiyi Li 8707811d 2020-12-01T11:50:56 Add an option to copy the artifact to vendor partition 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>
Trevor David Black e815afbf 2020-09-07T22:09:22 First pass at increasing inclusivity Link to the inclusivity rules https://source.android.com/setup/contribute/respectful-code Bug: b/162834212 Bug: chromium:1097198 Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Trevor Black <vantablack@google.com>
Tim Van Patten 43b951c8 2020-07-21T17:36:06 Remove third_party/angle/ from generate_android_bp.py Android builds are failing due to .git/HEAD being listed in the Android.bp, which generate_android_bp.py is supposed to remove. The problem is that the blacklist contains '//third_party/angle/.git/HEAD' rather than '//.git/HEAD', due to generating the GN files from chromium/src/ rather than angle/. This CL cleans this up. Bug: b/160727922 Test: Manual script execution and building in AOSP Change-Id: Ia1682605097791d20b28686f3043ddc08d49ca52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2310960 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 20eb9be5 2020-07-07T16:24:55 Generate Android.bp from multiple gn descriptions 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>
Geoff Lang 0652d0d6 2020-05-27T12:59:20 Fix non-existent required dependency TARGET module ANGLE has non-existent required: privapp_whitelist_com.android.angle Bug: b/7456955 Test: TH presubmit Change-Id: I828f154d2ff8126de8383ef56216436c29677729 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2218687 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 312e65e1 2020-04-30T12:38:01 Make sure all target names are unique in the generate Android.bp generate_android_bp.py prepends "angle_" to target names to avoid conflicts with other Android projects. This can sometimes generate conflicts when there are two targets such as "angle_vulkan_headers" and "vulkan_headers". This patch turns the gn path+target into the blueprint target name. BUG= b/155396154 Change-Id: I7a709013969ae8e312a781a2fd3c1ec530fca430 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2173833 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Tim Van Patten 868122c2 2020-04-10T13:17:44 Add 'java_api_finder' to Android.bp Per the Mainline requirement to setup coverage for APIs used by modules, we need to add the plugin 'java_api_finder' to ANGLE's Android.bp to enable the instrumentation. Bug: b:148987998 Test: Generate Android.bp, verify GoogleANGLE can build in goog/master Change-Id: Id3d82f18ecb9ff6a57cda4a60f14cd2464dff234 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2145236 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Geoff Lang cb6470f9 2020-04-01T09:44:35 Set sdk_version for cc_genrules used by modules with sdk_version set sdk_version now creates a new variant, so the cc_genrules also need sdk_version set. Bug: b:149591340 Change-Id: I8c58cca2d4e73e9f123f968d47361e878743e1b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2131251 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 95a4ded5 2020-03-20T14:36:48 Android.bp: Ignore unknown warning flags. Clang and Chrome build with different versions of clang which support different warning flags. Ignore unknown warning flags when building in Android. Bug: b:142320172 Change-Id: I35eb424aa5a146fec7dabf9f3aa71bd6dd9d8f50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2112282 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6ab0dbdf 2020-03-12T13:51:07 Rename ANGLE_defaults to ANGLE_java_defaults. This target already exists in internal master, avoid the name conflict until there is only one set of build files. BUG=b:142320172 Change-Id: Ida176f39422c1c57cc2936a06e61b7e86bf2cc90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2101367 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 14aaa1eb 2020-03-11T17:40:35 Refactor ANGLE target to allow GoogleANGLE to override it. GoogleANGLE will be signed in a different part of Android so it needs to be able to reference ANGLE's target and defaults to override certain properties. Update the manifests to request the needed permissions to use the developer options. Bug: b:142320172 Change-Id: Ia47815ab53f8de66332412efa2cc0fca3175e2cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2096815 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9e5bbb38 2020-03-06T16:15:11 Use ANGLE's vulkan-headers dep when rolling ANGLE into Android. 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>
Geoff Lang 71903912 2020-03-06T16:12:17 Generate arch-specific defines in Android.bp ANGLE has a ANGLE_IS_32/64_BIT_CPU define that is based on the gn arg for "target_cpu". Don't emit this define as is from the gn desc, move it to an architecture-specific section of the generated blueprint. BUG=angleproject:2344 Change-Id: Ib6387d5f31b30900b5d3195da6d9b21c48e1e2a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090393 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang deb65a6f 2020-02-27T15:58:17 Add scripts for rolling and generating Android.bp for AOSP BUG=angleproject:2344 Change-Id: I379cc924a6126e22b16e4cb096026d881e06763d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2079195 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>