ac/surface: don't compute single-sample CMASK if it's unaligned
[mesa.git] / .gitlab-ci.yml
index 45aaf5e48ec4754c3dc8d0cd14976fe10b132769..573c106a16816fab1a5d695252bc38ed4417a11f 100644 (file)
@@ -3,7 +3,7 @@ variables:
 
 include:
   - project: 'freedesktop/ci-templates'
-    ref: 4b2997287317808830e9cb4eb0f99b691787da88
+    ref: 59de540b620c45739871d1a073d76d5521989d11
     file: '/templates/debian.yml'
   - local: '.gitlab-ci/lava-gitlab-ci.yml'
   - local: '.gitlab-ci/test-source-dep.yml'
@@ -30,7 +30,10 @@ stages:
     # automatically once all dependency jobs have passed
     - changes: &all_paths
       - VERSION
-      - bin/**/*
+      - bin/git_sha1_gen.py
+      - bin/install_megadrivers.py
+      - bin/meson_get_version.py
+      - bin/symbols-check.py
       # GitLab CI
       - .gitlab-ci.yml
       - .gitlab-ci/**/*
@@ -133,7 +136,7 @@ x86_build:
     - .fdo.container-build@debian
     - .container
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_build "2020-04-22-winehq"
+    FDO_DISTRIBUTION_TAG: &x86_build "2020-05-18-baremetal-2"
 
 .use-x86_build:
   variables:
@@ -146,13 +149,13 @@ x86_build:
 x86_test-gl:
   extends: x86_build
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-04-21"
+    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-05-18"
 
 # Debian 10 based x86 test image for VK
 x86_test-vk:
   extends: x86_build
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-04-09"
+    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-05-18"
 
 # Debian 9 based x86 build image (old LLVM)
 x86_build_old:
@@ -174,7 +177,7 @@ arm_build:
     - .fdo.container-build@debian@arm64v8
     - .container
   variables:
-    FDO_DISTRIBUTION_TAG: &arm_build "2020-05-01-netcat"
+    FDO_DISTRIBUTION_TAG: &arm_build "2020-05-14-baremetal-5"
 
 .use-arm_build:
   variables:
@@ -183,6 +186,20 @@ arm_build:
   needs:
     - arm_build
 
+# x86 image with ARM rootfses for baremetal testing.
+x86_cross_arm_test:
+  extends: x86_build
+  variables:
+    FDO_DISTRIBUTION_TAG: &x86_cross_arm_test "2020-05-13"
+
+.use-x86_cross_arm_test:
+  variables:
+    TAG: *x86_cross_arm_test
+  image: "$CI_REGISTRY_IMAGE/debian/x86_cross_arm_test:$TAG"
+  needs:
+    - x86_cross_arm_test
+
+
 # Debian 10 based ARM test image
 arm_test:
   extends: arm_build
@@ -211,7 +228,7 @@ arm_test:
 
 .windows-docker-vs2019:
   variables:
-    WINDOWS_TAG: "2020-03-24"
+    WINDOWS_TAG: "2020-05-05-llvm"
     WINDOWS_IMAGE: "$CI_REGISTRY_IMAGE/windows/x64_build:$WINDOWS_TAG"
     WINDOWS_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/windows/x64_build:$WINDOWS_TAG"
 
@@ -222,6 +239,7 @@ windows_build_vs2019:
   stage: container
   variables:
     GIT_STRATEGY: fetch # we do actually need the full repository though
+  timeout: 4h # LLVM takes ages
   tags:
     - windows
     - shell
@@ -548,7 +566,7 @@ meson-s390x:
   script:
     # For unknown reasons "too many" installed i386 libraries cause qemu to
     # crash while executing llvm-config for s390x.
-    - apt-get purge -y winehq-stable
+    - apt-get purge -y wine32
     - apt-get autoremove -y --purge
     - dpkg -i /var/cache/apt/archives/$CROSS/*.deb
     - .gitlab-ci/meson-build.sh
@@ -803,12 +821,14 @@ arm64_a630_gles31_options:
   script:
     # We almost always manage to lower UBOs back to constant uploads in
     # the test suite, so get a little testing for it here.
-    - DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_EXPECTED_FAILS=deqp-freedreno-a630-noubo-fails.txt DEQP_CASELIST_FILTER="functional.\*ubo" ./install/deqp-runner.sh
+    - DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_CASELIST_FILTER="functional.*ubo" DEQP_EXPECTED_FAILS=deqp-freedreno-a630-noubo-fails.txt CI_NODE_INDEX= ./install/deqp-runner.sh
     # The driver does some guessing as to whether to render using gmem
     # or bypass, and some GLES3.1 features interact with either one.
     # Do a little testing with gmem and bypass forced.
     - DEQP_RUN_SUFFIX=-bypass FD_MESA_DEBUG=nogmem DEQP_EXPECTED_FAILS=deqp-freedreno-a630-bypass-fails.txt ./install/deqp-runner.sh
     - DEQP_RUN_SUFFIX=-gmem FD_MESA_DEBUG=nobypass ./install/deqp-runner.sh
+    # Check that we don't get obvious nir validation failures (though it's too expensive to run for the full CTS)
+    - DEQP_RUN_SUFFIX=-validate NIR_VALIDATE=1 ./install/deqp-runner.sh
 
 .baremetal-test:
   extends:
@@ -818,7 +838,7 @@ arm64_a630_gles31_options:
 arm64_a306_gles2:
   extends:
     - .baremetal-test
-    - .use-arm_build
+    - .use-x86_cross_arm_test
     - .freedreno-rules
   variables:
     BM_KERNEL: /lava-files/Image.gz
@@ -831,14 +851,17 @@ arm64_a306_gles2:
     DEQP_VER: gles2
     DEQP_PARALLEL: 4
     DEQP_EXPECTED_RENDERER: FD307
+    # NIR_VALIDATE=0 left intentionally unset as a3xx is fast enough at its small testsuite.
   script:
     - .gitlab-ci/bare-metal/fastboot.sh
   needs:
+    - x86_cross_arm_test
+    - arm_build
     - meson-arm64
   tags:
     - google-freedreno-db410c
 
-# Disabled due to flaky results
+# Fractional run, single threaded, due to flaky results
 arm64_a306_gles3:
   extends:
     - arm64_a306_gles2
@@ -846,7 +869,18 @@ arm64_a306_gles3:
     DEQP_VER: gles3
     DEQP_PARALLEL: 1
     CI_NODE_INDEX: 1
-    CI_NODE_TOTAL: 50
+    CI_NODE_TOTAL: 25
+    NIR_VALIDATE: 0
+
+# Fractional runs with debug options.  Note that since we're not
+# hitting the iommu faults, we can run in parallel (derive from gles2, not gles3).
+arm64_a306_gles3_options:
+  extends: arm64_a306_gles2
+  variables:
+    DEQP_VER: gles3
+  script:
+    # Check that the non-constbuf UBO case works.
+    - DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_CASELIST_FILTER="functional.*ubo" .gitlab-ci/bare-metal/fastboot.sh
 
 arm64_a530_gles2:
   extends:
@@ -854,10 +888,13 @@ arm64_a530_gles2:
   variables:
     BM_KERNEL: /lava-files/db820c-kernel
     BM_DTB: /lava-files/db820c.dtb
-    BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
+    # Disable SMP because only CPU 0 is at a freq higher than 19mhz on
+    # current upstream kernel.
+    BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 nosmp"
     DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
     DEQP_SKIPS: deqp-freedreno-a530-skips.txt
     DEQP_EXPECTED_RENDERER: FD530
+    NIR_VALIDATE: 0
   tags:
     - google-freedreno-db820c
 
@@ -868,13 +905,15 @@ arm64_a530_gles3:
     DEQP_VER: gles3
     DEQP_PARALLEL: 1
     CI_NODE_INDEX: 1
-    CI_NODE_TOTAL: 100
+    CI_NODE_TOTAL: 40
 
 arm64_a530_gles31:
   extends:
     - arm64_a530_gles3
   variables:
     DEQP_VER: gles31
+    CI_NODE_INDEX: 1
+    CI_NODE_TOTAL: 10
 
 # RADV CI
 .test-radv:
@@ -902,15 +941,23 @@ radv-fossils:
     - .fossilize-test
     - .test-radv
   script:
-    # Polaris10
+    # Pitcairn (GFX6)
+    - export RADV_FORCE_FAMILY="pitcairn"
+    - ./install/fossilize-runner.sh
+    - RADV_PERFTEST=aco ./install/fossilize-runner.sh
+    # Bonaire (GFX7)
+    - export RADV_FORCE_FAMILY="bonaire"
+    - ./install/fossilize-runner.sh
+    - RADV_PERFTEST=aco ./install/fossilize-runner.sh
+    # Polaris10 (GFX8)
     - export RADV_FORCE_FAMILY="polaris10"
     - ./install/fossilize-runner.sh
     - RADV_PERFTEST=aco ./install/fossilize-runner.sh
-    # Vega10
+    # Vega10 (GFX9)
     - export RADV_FORCE_FAMILY="gfx900"
     - ./install/fossilize-runner.sh
     - RADV_PERFTEST=aco ./install/fossilize-runner.sh
-    # Navi10
+    # Navi10 (GFX10)
     - export RADV_FORCE_FAMILY="gfx1010"
     - ./install/fossilize-runner.sh
     - RADV_PERFTEST=aco ./install/fossilize-runner.sh