gitlab-ci: add a job that runs Vulkan CTS with RADV conditionally

Only Polaris10 is tested at the moment, and I disabled a TON of
tests to keep a CTS run within 5 minutes because my local runner
is a bit slow. A full CTS run takes more than 1h, which means it
will hit the timeout.

RADV CI can only be triggered manually on personal branches to
avoid breaking the world because one runner is definitely not
enough. This will allow us to test it until it's stable enough
to be enabled by default.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4db40a3..079af44 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -116,6 +116,18 @@
   extends: x86_build
   variables:
     DEBIAN_TAG: &x86_test-vk "2019-11-22"
+  # Can only be triggered manually on personal branches because RADV is the only
+  # driver that does Vulkan testing at the moment.
+  rules:
+    # Never build the test image for VK by default in the main project.
+    - if: '$CI_PROJECT_PATH == "mesa/mesa"'
+      when: never
+    # Never build the test image for VK by default for merge requests.
+    - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
+      when: never
+    # Otherwise, allow building it manually for personal branches.
+    - when: manual
+
 
 # Debian 9 based x86 build image (old LLVM)
 x86_build_old:
@@ -626,3 +638,30 @@
     DEQP_SKIPS: deqp-default-skips.txt
   tags:
     - db410c
+
+# RADV CI
+.test-radv:
+  variables:
+    VK_DRIVER: radeon
+  # Can only be triggered manually on personal branches because RADV is the only
+  # driver that does Vulkan testing at the moment.
+  rules:
+    # Never test RADV by default in the main project.
+    - if: '$CI_PROJECT_PATH == "mesa/mesa"'
+      when: never
+    # Never test RADV by default for merge requests.
+    - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
+      when: never
+    # Otherwise, allow testing RADV if the test image for VK has been manually
+    # started.
+    - when: on_success
+
+radv_polaris10_vkcts:
+  extends:
+    - .deqp-test-vk
+    - .test-radv
+  variables:
+    DEQP_PARALLEL: 4
+    DEQP_SKIPS: deqp-radv-polaris10-skips.txt
+  tags:
+    - polaris10