Draft: enable testing mesa under Android using cuttlefish and the latest llvmpipe driver
This MR enables testing mesa under Android using cuttlefish and the latest llvmpipe driver.
This makes it possible to spot regressions when running mesa under Android.
This is achieved by:
- using prebuilt llvm libraries for Android which are needed to build the llvmpipe driver for Android
- using prebuilt cuttlefish images that are tailored to use the llvmpipe from upstream mesa
For the curios, the cuttlefish images for llvmpipe are built by using upstream mesa in the AOSP tree, and integrating these changes in the cuttlefish
project:
https://gitlab.freedesktop.org/ao2/cuttlefish/-/merge_requests/2
The following commands can be used to test the changes:
git clone -b ao2/android-ci-improvements https://gitlab.freedesktop.org/ao2/mesa.git
cd mesa
./bin/ci/ci_run_n_monitor.sh --target android-llvmpipe
NOTE: by using the guest_swiftshader
GPU mode in cuttlefish, mesa is only exercised on the Android guest and not on the linux host too.
TODO for the MR:
-
Make the android-llvmpipe
job pass. -
Get the prebuilt llvm libraries for Android from an S3 bucket -
Get the cuttlefish images from and S3 bucket -
Clean up how meson uses the prebuilt llvm libraries from android using a wrap file -
Medium-term: build the llvm libraries from Android in a CI job and upload to S3 -
Medium-term: build the cuttlefish images in a CI job and upload to S3