Add Android Vulkan backend (#2711)

Co-authored-by: Bart Louwers <bart.louwers@gmail.com>
This commit is contained in:
Adrian Cojocaru
2024-09-06 17:40:57 +03:00
committed by GitHub
parent 4b5d06d908
commit ea09bdf2b6
79 changed files with 2580 additions and 1400 deletions

View File

@@ -227,11 +227,27 @@ jobs:
./test/android/app-release-androidTest.apk
android-build-render-test:
strategy:
fail-fast: false
matrix:
flavor: [opengl, vulkan]
runs-on: ubuntu-latest
needs:
- pre_job
if: needs.pre_job.outputs.should_skip != 'true'
steps:
- name: Free Disk Space (Ubuntu)
if: startsWith(runner.name, 'GitHub Actions')
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
android: false
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: false
- uses: actions/checkout@v4
with:
submodules: recursive
@@ -248,12 +264,29 @@ jobs:
- name: Build Render Test App
run: |
./gradlew assemble assembleAndroidTest
cp app/build/outputs/apk/release/app-release.apk RenderTestsApp.apk
cp app/build/outputs/apk/androidTest/release/app-release-androidTest.apk RenderTests.apk
./gradlew assemble${{ matrix.flavor }} assemble${{ matrix.flavor }}AndroidTest
cp app/build/outputs/apk/${{ matrix.flavor }}/release/app-${{ matrix.flavor }}-release.apk RenderTestsApp-${{ matrix.flavor }}.apk
cp app/build/outputs/apk/androidTest/${{ matrix.flavor }}/release/app-${{ matrix.flavor }}-release-androidTest.apk RenderTests-${{ matrix.flavor }}.apk
working-directory: ./render-test/android
- name: Store Render Test .apk files
uses: actions/upload-artifact@v4
with:
name: android-render-tests-${{ matrix.flavor }}
if-no-files-found: error
path: |
./render-test/android/RenderTestsApp-${{ matrix.flavor }}.apk
./render-test/android/RenderTests-${{ matrix.flavor }}.apk
# these two can be (and should be) removed once merged into main
- name: Copy render tests and render test app
if: matrix.flavor == 'opengl'
run: |
cp ./render-test/android/RenderTestsApp-opengl.apk ./render-test/android/RenderTestsApp.apk
cp ./render-test/android/RenderTests-opengl.apk ./render-test/android/RenderTests.apk
- name: Store Render Test .apk files
if: matrix.flavor == 'opengl'
uses: actions/upload-artifact@v4
with:
name: android-render-tests

View File

@@ -16,10 +16,18 @@ jobs:
matrix:
test: [
{
artifactName: android-render-tests,
testFile: RenderTests.apk,
appFile: RenderTestsApp.apk,
name: "Android Render Tests",
artifactName: android-render-tests-opengl,
testFile: RenderTests-opengl.apk,
appFile: RenderTestsApp-opengl.apk,
name: "Android Render Tests (OpenGL)",
# Google Pixel 7 Pro
devicePool: "arn:aws:devicefarm:us-west-2:373521797162:devicepool:20687d72-0e46-403e-8f03-0941850665bc/9692fe7f-86a9-4ecc-908f-175600968564"
},
{
artifactName: android-render-tests-vulkan,
testFile: RenderTests-vulkan.apk,
appFile: RenderTestsApp-vulkan.apk,
name: "Android Render Tests (Vulkan)",
# Google Pixel 7 Pro
devicePool: "arn:aws:devicefarm:us-west-2:373521797162:devicepool:20687d72-0e46-403e-8f03-0941850665bc/9692fe7f-86a9-4ecc-908f-175600968564"
},