ci/virtio: Add an Android Venus job on Intel Comet Lake
Introduce a Venus job running in Cuttlefish on Intel Comet Lake DUTs.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Co-authored-by: Antonio Ospite <antonio.ospite@collabora.com>
Co-authored-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522>
diff --git a/.gitlab-ci/lava/lava-gitlab-ci.yml b/.gitlab-ci/lava/lava-gitlab-ci.yml
index 7127f4d..33d8f42 100644
--- a/.gitlab-ci/lava/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava/lava-gitlab-ci.yml
@@ -76,6 +76,24 @@
KERNEL_IMAGE_TYPE: "zimage"
BOOT_METHOD: u-boot
+.lava-x86_64-test-android:
+ extends:
+ - .use-debian/x86_64_test-android
+ - .lava-x86_64-test
+ - .android-variables
+ variables:
+ HWCI_ENABLE_X86_KVM: 1
+ HWCI_TEST_SCRIPT: install/cuttlefish-runner.sh
+ S3_ANDROID_ARTIFACT_NAME: mesa-x86_64-android-debug
+ needs:
+ - !reference [.lava-test, needs]
+ - job: debian/x86_64_test-android
+ artifacts: false
+ - job: debian-x86_64 # The generic Linux build for the host will be downloaded later
+ artifacts: false
+ - job: debian-android # The Android build for the guest will be downloaded later and installed via adb
+ artifacts: false
+
.lava-x86_64-test-gl:
extends:
- .use-debian/x86_64_test-gl
diff --git a/src/virtio/ci/android-angle-venus-anv-fails.txt b/src/virtio/ci/android-angle-venus-anv-fails.txt
new file mode 100644
index 0000000..171827d
--- /dev/null
+++ b/src/virtio/ci/android-angle-venus-anv-fails.txt
@@ -0,0 +1,2 @@
+dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.host_visible.import_twice,Fail
+dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.host_visible.import_twice,Fail
diff --git a/src/virtio/ci/deqp-android-angle-venus-anv.toml b/src/virtio/ci/deqp-android-angle-venus-anv.toml
new file mode 100644
index 0000000..5e83274
--- /dev/null
+++ b/src/virtio/ci/deqp-android-angle-venus-anv.toml
@@ -0,0 +1,18 @@
+# Android-specific vkcts test set
+[[deqp]]
+deqp = "/data/deqp/deqp-vk"
+caselists = ["/data/deqp/vk-main.txt"]
+include = ["dEQP-VK.api.external.memory.android_hardware_buffer.*"]
+renderer_check = "Virtio-GPU Venus.*Intel"
+
+# Basic EGL test set
+[[deqp]]
+deqp = "/data/deqp/deqp-egl-android"
+caselists = ["/data/deqp/egl-main.txt"]
+deqp_args = [
+ "--deqp-surface-width=256",
+ "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+ "--deqp-visibility=hidden"
+]
diff --git a/src/virtio/ci/gitlab-ci-inc.yml b/src/virtio/ci/gitlab-ci-inc.yml
index 47517ed..465f525 100644
--- a/src/virtio/ci/gitlab-ci-inc.yml
+++ b/src/virtio/ci/gitlab-ci-inc.yml
@@ -26,6 +26,19 @@
- !reference [.venus-manual-rules, rules]
- !reference [.lavapipe-manual-rules, rules]
+.venus-anv-rules:
+ stage: layered-backends
+ rules:
+ - !reference [.venus-rules, rules]
+ - !reference [.anv-rules, rules]
+
+.venus-anv-manual-rules:
+ stage: layered-backends-nightly
+ extends: .no-auto-retry
+ rules:
+ - !reference [.venus-manual-rules, rules]
+ - !reference [.anv-manual-rules, rules]
+
.venus-lavapipe-test:
extends:
diff --git a/src/virtio/ci/gitlab-ci.yml b/src/virtio/ci/gitlab-ci.yml
index 88f750a..e5866d29 100644
--- a/src/virtio/ci/gitlab-ci.yml
+++ b/src/virtio/ci/gitlab-ci.yml
@@ -46,3 +46,17 @@
GPU_VERSION: venus
DEQP_SUITE: android-venus-angle
# TODO: define DEQP_FRACTION?
+
+android-angle-venus-anv-cml:
+ extends:
+ - .lava-x86_64-test-android
+ - .anv-test
+ - .test-angle
+ - .lava-asus-C436FA-Flip-hatch:x86_64
+ - .venus-anv-rules
+ variables:
+ ANDROID_GPU_MODE: venus_guest_angle
+ DEQP_SUITE: android-angle-venus-anv
+ GPU_VERSION: android-angle-venus-anv
+ HWCI_KERNEL_MODULES: "i915,vhost_vsock"
+ VK_DRIVER: intel