Mesa (master): ci: Build kernels and rootfs for x86 devices

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 29 13:01:32 UTC 2020


Module: Mesa
Branch: master
Commit: 6c8b921572a542f5de62475a76501a9db73dae4d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c8b921572a542f5de62475a76501a9db73dae4d

Author: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Date:   Fri Jul  3 10:04:20 2020 +0200

ci: Build kernels and rootfs for x86 devices

For testing Mesa on LAVA devices with the amd64 architecture, build
kernels and rootfs in the same way as we do for arm64 and armhf.

Also add a few trivial jobs for a specific AMD Chromebook.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Reviewed-by: Rohan Garg <rohan.garg at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903>

---

 .gitlab-ci.yml                                     |  23 ++-
 .gitlab-ci/container/baremetal_build.sh            |   2 +-
 .../container/{lava_arm.sh => lava_build.sh}       |  33 +++-
 .gitlab-ci/container/x86_build-base.sh             |   5 +-
 .gitlab-ci/create-rootfs.sh                        |  26 ++-
 .gitlab-ci/deqp-radeonsi-stoney-fails.txt          |   0
 .gitlab-ci/deqp-radeonsi-stoney-skips.txt          |  11 ++
 .gitlab-ci/generate_lava.py                        |   2 +
 .gitlab-ci/lava-deqp.yml.jinja2                    |   4 +-
 .gitlab-ci/lava-gitlab-ci.yml                      |  77 +++++++-
 .gitlab-ci/lava-tracie.yml.jinja2                  |   4 +-
 .gitlab-ci/test-source-dep.yml                     |  16 ++
 .gitlab-ci/traces.yml                              | 214 +++++++++++++++++++++
 .gitlab-ci/x86_64.config                           |  65 +++++++
 14 files changed, 458 insertions(+), 24 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0943b5dfb89..e63539fc1f6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,6 +30,7 @@ stages:
   - radv
   - lima
   - virgl
+  - radeonsi
   - success
 
 # Generic rule to not run the job during scheduled pipelines
@@ -203,7 +204,7 @@ x86_build-base:
     - .fdo.container-build at debian
     - .container
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_build-base "2020-07-28-libdrm"
+    FDO_DISTRIBUTION_TAG: &x86_build-base "2020-07-28-x86-2"
 
 .use-x86_build-base:
   extends:
@@ -221,7 +222,7 @@ x86_build:
   extends:
     - .use-x86_build-base
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_build "2020-07-28-libdrm-2"
+    FDO_DISTRIBUTION_TAG: &x86_build "2020-07-28-x86-2"
 
 .use-x86_build:
   variables:
@@ -235,7 +236,7 @@ i386_build:
   extends:
     - .use-x86_build-base
   variables:
-    FDO_DISTRIBUTION_TAG: &i386_build "2020-07-28-libdrm"
+    FDO_DISTRIBUTION_TAG: &i386_build "2020-07-28-x86-2"
 
 .use-i386_build:
   variables:
@@ -249,7 +250,7 @@ ppc64el_build:
   extends:
     - .use-x86_build-base
   variables:
-    FDO_DISTRIBUTION_TAG: &ppc64el_build "2020-07-28-libdrm"
+    FDO_DISTRIBUTION_TAG: &ppc64el_build "2020-07-28-x86-2"
 
 .use-ppc64el_build:
   variables:
@@ -263,7 +264,7 @@ s390x_build:
   extends:
     - .use-x86_build-base
   variables:
-    FDO_DISTRIBUTION_TAG: &s390x_build "2020-07-28-libdrm"
+    FDO_DISTRIBUTION_TAG: &s390x_build "2020-07-28-x86-2"
 
 .use-s390x_build:
   variables:
@@ -276,7 +277,7 @@ s390x_build:
 x86_test-base:
   extends: x86_build-base
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-base "2020-07-28-libdrm"
+    FDO_DISTRIBUTION_TAG: &x86_test-base "2020-07-28-x86-2"
 
 .use-x86_test-base:
   extends:
@@ -293,19 +294,19 @@ x86_test-base:
 x86_test-gl:
   extends: .use-x86_test-base
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-07-28-libdrm"
+    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-07-28-x86-2"
 
 # Debian 10 based x86 test image for VK
 x86_test-vk:
   extends: .use-x86_test-base
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-07-28-libdrm"
+    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-07-28-x86-2"
 
 # Debian 9 based x86 build image (old LLVM)
 x86_build_old:
   extends: x86_build-base
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_build_old "2020-07-28-libdrm"
+    FDO_DISTRIBUTION_TAG: &x86_build_old "2020-07-28-x86-2"
     FDO_DISTRIBUTION_VERSION: stretch-slim
 
 .use-x86_build_old:
@@ -518,11 +519,13 @@ meson-testing:
       -D platforms=x11
     GALLIUM_ST: >
       -D dri3=enabled
-    GALLIUM_DRIVERS: "swrast,virgl"
+    GALLIUM_DRIVERS: "swrast,virgl,radeonsi"
     VULKAN_DRIVERS: amd
     BUILDTYPE: "debugoptimized"
     EXTRA_OPTION: >
       -D werror=true
+    UPLOAD_FOR_LAVA: 1
+    DEBIAN_ARCH: amd64
   script:
     - .gitlab-ci/meson-build.sh
     - .gitlab-ci/prepare-artifacts.sh
diff --git a/.gitlab-ci/container/baremetal_build.sh b/.gitlab-ci/container/baremetal_build.sh
index e7e92ba2e2e..edfd4f980f0 100644
--- a/.gitlab-ci/container/baremetal_build.sh
+++ b/.gitlab-ci/container/baremetal_build.sh
@@ -51,7 +51,7 @@ mkdir /var/cache/apt/archives/$arch
 ############### Create rootfs
 KERNEL_URL=https://gitlab.freedesktop.org/drm/msm/-/archive/drm-msm-fixes-2020-06-25/msm-drm-msm-fixes-2020-06-25.tar.gz
 
-DEBIAN_ARCH=$arch INCLUDE_VK_CTS=1 . .gitlab-ci/container/lava_arm.sh
+DEBIAN_ARCH=$arch INCLUDE_VK_CTS=1 . .gitlab-ci/container/lava_build.sh
 
 ############### Store traces
 # Clone the traces-db at container build time so we don't have to pull traces
diff --git a/.gitlab-ci/container/lava_arm.sh b/.gitlab-ci/container/lava_build.sh
similarity index 87%
rename from .gitlab-ci/container/lava_arm.sh
rename to .gitlab-ci/container/lava_build.sh
index baee8d813f2..7a7e997a31c 100755
--- a/.gitlab-ci/container/lava_arm.sh
+++ b/.gitlab-ci/container/lava_build.sh
@@ -23,13 +23,19 @@ if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
     DEFCONFIG="arch/arm64/configs/defconfig"
     DEVICE_TREES="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dtb arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb arch/arm64/boot/dts/qcom/apq8016-sbc.dtb"
     KERNEL_IMAGE_NAME="Image"
-else
+elif [[ "$DEBIAN_ARCH" = "armhf" ]]; then
     GCC_ARCH="arm-linux-gnueabihf"
     KERNEL_ARCH="arm"
     DEFCONFIG="arch/arm/configs/multi_v7_defconfig"
     DEVICE_TREES="arch/arm/boot/dts/rk3288-veyron-jaq.dtb arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb"
     KERNEL_IMAGE_NAME="zImage"
     . .gitlab-ci/create-cross-file.sh armhf
+else
+    GCC_ARCH="x86_64-linux-gnu"
+    KERNEL_ARCH="x86_64"
+    DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+    DEVICE_TREES=""
+    KERNEL_IMAGE_NAME="bzImage"
 fi
 
 # Determine if we're in a cross build.
@@ -117,16 +123,27 @@ mv /renderdoc/build /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc
 rm -rf /renderdoc
 
 
+############### Build libdrm
+EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
+. .gitlab-ci/build-libdrm.sh
+mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH
+find /libdrm/ -name lib\*\.so\* | xargs cp -t /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH/.
+rm -rf /libdrm
+
+
 ############### Cross-build kernel
 mkdir -p kernel
 wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C kernel
 pushd kernel
 ./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/${KERNEL_ARCH}.config
-make ${KERNEL_IMAGE_NAME} dtbs
+make ${KERNEL_IMAGE_NAME}
 for image in ${KERNEL_IMAGE_NAME}; do
     cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
 done
-cp ${DEVICE_TREES} /lava-files/.
+if [[ -n ${DEVICE_TREES} ]]; then
+    make dtbs
+    cp ${DEVICE_TREES} /lava-files/.
+fi
 
 if [[ ${DEBIAN_ARCH} = "arm64" ]] && which mkimage > /dev/null; then
     make Image.lzma
@@ -157,8 +174,11 @@ cat /lava-files/rootfs-${DEBIAN_ARCH}/debootstrap/debootstrap.log
 set -e
 
 cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
+cp .gitlab-ci/container/llvm-snapshot.gpg.key /lava-files/rootfs-${DEBIAN_ARCH}/.
 chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
 rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
+rm /lava-files/rootfs-${DEBIAN_ARCH}/llvm-snapshot.gpg.key
+du -ah /lava-files/rootfs-${DEBIAN_ARCH} | sort -h | tail -100
 pushd /lava-files/rootfs-${DEBIAN_ARCH}
   find -H  |  cpio -H newc -o | gzip -c - > /lava-files/lava-rootfs.cpio.gz
 popd
@@ -203,8 +223,11 @@ fi
 if [ -n "$UPLOAD_FOR_LAVA" ]; then
     ci-fairy minio login $CI_JOB_JWT
     FILES_TO_UPLOAD="lava-rootfs.cpio.gz \
-                     $KERNEL_IMAGE_NAME \
-                     $(basename -a $DEVICE_TREES)"
+                     $KERNEL_IMAGE_NAME"
+
+    if [[ -n $DEVICE_TREES ]]; then
+        FILES_TO_UPLOAD="$FILES_TO_UPLOAD $(basename -a $DEVICE_TREES)"
+    fi
 
     for f in $FILES_TO_UPLOAD; do
         ci-fairy minio cp /lava-files/$f \
diff --git a/.gitlab-ci/container/x86_build-base.sh b/.gitlab-ci/container/x86_build-base.sh
index a833dcda4b1..e6a1db2028f 100644
--- a/.gitlab-ci/container/x86_build-base.sh
+++ b/.gitlab-ci/container/x86_build-base.sh
@@ -61,7 +61,9 @@ apt-get install -y --no-remove \
         python-mako \
         python3-mako \
         python3-pil \
+        python3-pip \
         python3-requests \
+        python3-setuptools \
         qemu-user \
         scons \
         wine64-development \
@@ -90,7 +92,6 @@ rm bin/glslangValidator glslang-master-linux-Release.zip
 
 apt-get purge -y \
         gnupg \
-        unzip \
-        wget
+        unzip
 
 . .gitlab-ci/container/container_post_build.sh
diff --git a/.gitlab-ci/create-rootfs.sh b/.gitlab-ci/create-rootfs.sh
index 8422bab11b4..4f4609ed4c6 100644
--- a/.gitlab-ci/create-rootfs.sh
+++ b/.gitlab-ci/create-rootfs.sh
@@ -2,6 +2,27 @@
 
 set -ex
 
+if [ $DEBIAN_ARCH = arm64 ]; then
+    ARCH_PACKAGES="firmware-qcom-media"
+elif [ $DEBIAN_ARCH = amd64 ]; then
+    # Upstream LLVM package repository
+    apt-get -y install --no-install-recommends gnupg ca-certificates
+    apt-key add /llvm-snapshot.gpg.key
+    echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
+    apt-get update
+
+    ARCH_PACKAGES="libelf1
+                   libllvm9
+                   libxcb-dri2-0
+                   libxcb-dri3-0
+                   libxcb-present0
+                   libxcb-sync1
+                   libxcb-xfixes0
+                   libxshmfence1
+                   firmware-amd-graphics
+                  "
+fi
+
 apt-get -y install --no-install-recommends \
     ca-certificates \
     curl \
@@ -12,7 +33,7 @@ apt-get -y install --no-install-recommends \
     libexpat1 \
     libx11-6 \
     libx11-xcb1 \
-    firmware-qcom-media \
+    $ARCH_PACKAGES \
     netcat-openbsd \
     python3 \
     libpython3.7 \
@@ -57,7 +78,8 @@ cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
 
 UNNEEDED_PACKAGES="libfdisk1
                    tzdata
-                   diffutils"
+                   diffutils
+                   gnupg"
 
 export DEBIAN_FRONTEND=noninteractive
 
diff --git a/.gitlab-ci/deqp-radeonsi-stoney-fails.txt b/.gitlab-ci/deqp-radeonsi-stoney-fails.txt
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/.gitlab-ci/deqp-radeonsi-stoney-skips.txt b/.gitlab-ci/deqp-radeonsi-stoney-skips.txt
new file mode 100644
index 00000000000..69d00870a04
--- /dev/null
+++ b/.gitlab-ci/deqp-radeonsi-stoney-skips.txt
@@ -0,0 +1,11 @@
+# Note: skips lists for CI are just a list of lines that, when
+# non-zero-length and not starting with '#', will regex match to
+# delete lines from the test list.  Be careful.
+
+# Skip the perf/stress tests to keep runtime manageable
+dEQP-GLES[0-9]*.performance.*
+dEQP-GLES[0-9]*.stress.*
+
+# These are really slow on tiling architectures (including llvmpipe).
+dEQP-GLES[0-9]*.functional.flush_finish.*
+
diff --git a/.gitlab-ci/generate_lava.py b/.gitlab-ci/generate_lava.py
index 61da42877ad..6f887c5f90b 100755
--- a/.gitlab-ci/generate_lava.py
+++ b/.gitlab-ci/generate_lava.py
@@ -11,6 +11,7 @@ parser.add_argument("--pipeline-info")
 parser.add_argument("--base-artifacts-url")
 parser.add_argument("--mesa-url")
 parser.add_argument("--device-type")
+parser.add_argument("--dtb", nargs='?', default="")
 parser.add_argument("--kernel-image-name")
 parser.add_argument("--kernel-image-type", nargs='?', default="")
 parser.add_argument("--gpu-version")
@@ -33,6 +34,7 @@ values['pipeline_info'] = args.pipeline_info
 values['base_artifacts_url'] = args.base_artifacts_url
 values['mesa_url'] = args.mesa_url
 values['device_type'] = args.device_type
+values['dtb'] = args.dtb
 values['kernel_image_name'] = args.kernel_image_name
 values['kernel_image_type'] = args.kernel_image_type
 values['gpu_version'] = args.gpu_version
diff --git a/.gitlab-ci/lava-deqp.yml.jinja2 b/.gitlab-ci/lava-deqp.yml.jinja2
index 92a48ed7915..639f1d1f40e 100644
--- a/.gitlab-ci/lava-deqp.yml.jinja2
+++ b/.gitlab-ci/lava-deqp.yml.jinja2
@@ -30,8 +30,10 @@ actions:
     ramdisk:
       url: {{ base_artifacts_url }}/lava-rootfs.cpio.gz
       compression: gz
+{% if dtb %}
     dtb:
-      url: {{ base_artifacts_url }}/{{ device_type }}.dtb
+      url: {{ base_artifacts_url }}/{{ dtb }}.dtb
+{% endif %}
     os: oe
 - boot:
     timeout:
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index 1be28ef6e13..0055ef524ee 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -1,5 +1,5 @@
 variables:
-  DISTRIBUTION_TAG: "2020-07-28"
+  DISTRIBUTION_TAG: "2020-07-28-x86"
 
 .kernel+rootfs:
   stage: container-2
@@ -10,7 +10,15 @@ variables:
     KERNEL_URL: "https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-panfrost-fixes/linux-v5.5-panfrost-fixes.tar.gz"
     UPLOAD_FOR_LAVA: 1
   script:
-    - .gitlab-ci/container/lava_arm.sh
+    - .gitlab-ci/container/lava_build.sh
+
+kernel+rootfs_amd64:
+  extends:
+    - .use-x86_build-base
+    - .kernel+rootfs
+  image: "$CI_REGISTRY_IMAGE/debian/x86_build-base:$BASE_TAG"
+  variables:
+    DEBIAN_ARCH: "amd64"
 
 kernel+rootfs_arm64:
   extends:
@@ -54,6 +62,7 @@ kernel+rootfs_armhf:
         --base-artifacts-url ${ARTIFACTS_URL} \
         --mesa-url ${MESA_URL} \
         --device-type ${DEVICE_TYPE} \
+        --dtb ${DTB} \
         --env-vars "${ENV_VARS} ${FIXED_ENV_VARS}" \
         --deqp-version ${DEQP_VERSION} \
         --kernel-image-name ${KERNEL_IMAGE_NAME} \
@@ -108,6 +117,26 @@ kernel+rootfs_armhf:
     - kernel+rootfs_arm64
     - meson-arm64
 
+.lava-test:amd64:
+  variables:
+    ARCH: amd64
+    KERNEL_IMAGE_NAME: bzImage
+    KERNEL_IMAGE_TYPE: "type:\ zimage"
+    BOOT_METHOD: u-boot
+    TEST_SUITE: "deqp"
+  extends:
+    - .lava-test
+    - .use-arm_build
+  needs:
+    - kernel+rootfs_amd64
+    - meson-testing
+
+.lava-traces:amd64:
+  variables:
+    TEST_SUITE: "tracie"
+  extends:
+    - .lava-test:amd64
+
 .lava-traces:armhf:
   variables:
     TEST_SUITE: "tracie"
@@ -126,6 +155,7 @@ panfrost-t720-gles2:arm64:
     - .panfrost-rules
   variables:
     DEVICE_TYPE: sun50i-h6-pine-h64
+    DTB: ${DEVICE_TYPE}
     GPU_VERSION: panfrost-t720
     ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
   tags:
@@ -137,6 +167,7 @@ panfrost-t760-gles2:armhf:
     - .panfrost-rules
   variables:
     DEVICE_TYPE: rk3288-veyron-jaq
+    DTB: ${DEVICE_TYPE}
     GPU_VERSION: panfrost-t760
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
@@ -150,6 +181,7 @@ panfrost-t760-gles2:armhf:
     - .panfrost-rules
   variables:
     DEVICE_TYPE: rk3288-veyron-jaq
+    DTB: ${DEVICE_TYPE}
     GPU_VERSION: panfrost-t760
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
@@ -162,6 +194,7 @@ panfrost-t760-gles2:armhf:
     - .panfrost-rules
   variables:
     DEVICE_TYPE: rk3399-gru-kevin
+    DTB: ${DEVICE_TYPE}
     GPU_VERSION: panfrost-t860
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
@@ -197,6 +230,7 @@ panfrost-t860-traces:arm64:
     - .panfrost-rules
   variables:
     DEVICE_TYPE: meson-gxm-khadas-vim2
+    DTB: ${DEVICE_TYPE}
     GPU_VERSION: panfrost-t820
     LAVA_TAGS: panfrost
     ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820"
@@ -210,6 +244,7 @@ panfrost-t860-traces:arm64:
     - .lima-rules
   variables:
     DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
+    DTB: ${DEVICE_TYPE}
     GPU_VERSION: lima
     ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400"
   tags:
@@ -221,7 +256,45 @@ panfrost-t860-traces:arm64:
     - .lima-rules
   variables:
     DEVICE_TYPE: meson-gxl-s905x-libretech-cc
+    DTB: ${DEVICE_TYPE}
     GPU_VERSION: lima
     ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450"
   tags:
     - mesa-ci-aarch64-lava-baylibre
+
+# Commented out while waiting for more DUTs to come online
+.radeonsi-stoney-gles2:amd64:
+  extends:
+    - .lava-test:amd64
+    - .radeonsi-rules
+  variables:
+    DEVICE_TYPE: hp-11A-G6-EE-grunt
+    DTB: ""
+    GPU_VERSION: radeonsi-stoney
+    BOOT_METHOD: depthcharge
+    KERNEL_IMAGE_TYPE: ""
+    ENV_VARS: "DEQP_PARALLEL=4 DEQP_EXPECTED_RENDERER=STONEY NIR_VALIDATE=0"
+  tags:
+    - mesa-ci-aarch64-lava-collabora
+
+# Commented out while waiting for more DUTs to come online
+.radeonsi-stoney-gles3:amd64:
+  extends:
+    - .radeonsi-stoney-gles2:amd64
+  variables:
+    DEQP_VERSION: gles3
+  tags:
+    - mesa-ci-aarch64-lava-collabora
+
+radeonsi-stoney-traces:amd64:
+  extends:
+    - .lava-traces:amd64
+    - .radeonsi-rules
+  variables:
+    DEVICE_TYPE: hp-11A-G6-EE-grunt
+    DTB: ""
+    GPU_VERSION: radeonsi-stoney
+    BOOT_METHOD: depthcharge
+    KERNEL_IMAGE_TYPE: ""
+  tags:
+    - mesa-ci-aarch64-lava-collabora
diff --git a/.gitlab-ci/lava-tracie.yml.jinja2 b/.gitlab-ci/lava-tracie.yml.jinja2
index f8b6bcb37d8..0811c6724fe 100644
--- a/.gitlab-ci/lava-tracie.yml.jinja2
+++ b/.gitlab-ci/lava-tracie.yml.jinja2
@@ -30,8 +30,10 @@ actions:
     ramdisk:
       url: {{ base_artifacts_url }}/lava-rootfs.cpio.gz
       compression: gz
+{% if dtb %}
     dtb:
-      url: {{ base_artifacts_url }}/{{ device_type }}.dtb
+      url: {{ base_artifacts_url }}/{{ dtb }}.dtb
+{% endif %}
     os: oe
 - boot:
     timeout:
diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml
index 6a006b8d6c3..fc65153ad13 100644
--- a/.gitlab-ci/test-source-dep.yml
+++ b/.gitlab-ci/test-source-dep.yml
@@ -170,3 +170,19 @@
       - src/gallium/winsys/virgl/**/*
       when: on_success
     - when: never
+
+.radeonsi-rules:
+  stage: radeonsi
+  rules:
+    - changes:
+        *mesa_core_file_list
+      when: on_success
+    - changes:
+        *gallium_core_file_list
+      when: on_success
+    - changes:
+      - src/gallium/drivers/radeonsi/**/*
+      - src/gallium/winsys/amdgpu/**/*
+      - src/amd/**/*
+      when: on_success
+    - when: never
diff --git a/.gitlab-ci/traces.yml b/.gitlab-ci/traces.yml
index 19949e91e88..5f0e259b4fe 100644
--- a/.gitlab-ci/traces.yml
+++ b/.gitlab-ci/traces.yml
@@ -12,6 +12,8 @@ traces:
         checksum: 95df5e619a36e88fe408e45567a2d149
       - device: gl-panfrost-t760
         checksum: 30663eac9a4767d26fbf9b6db9712d9f
+      - device: gl-radeonsi-stoney
+        checksum: 316650141be869c8afe76b42d3573b49
   - path: glmark2/jellyfish.rdc
     expectations:
       - device: gl-vmware-llvmpipe
@@ -22,6 +24,8 @@ traces:
         checksum: 1d609b089732be5b6e3e78370abcb149
       - device: gl-panfrost-t760
         checksum: f98ef9118eeaba660c15065dac46e580
+      - device: gl-radeonsi-stoney
+        checksum: 2c57f9d33489dd43c8807bd0f06c3ed8
   - path: glxgears/glxgears-2.trace
     expectations:
       - device: gl-vmware-llvmpipe
@@ -32,6 +36,8 @@ traces:
         checksum: bcc73608b6e2b5d92bf926d1c21889c7
       - device: gl-panfrost-t760
         checksum: bcc73608b6e2b5d92bf926d1c21889c7
+      - device: gl-radeonsi-stoney
+        checksum: eb9b3d497be567f02a6e039fa32f2b13
   - path: KhronosGroup-Vulkan-Tools/amd/polaris10/vkcube.gfxr
     expectations:
       - device: vk-amd-polaris10
@@ -54,6 +60,8 @@ traces:
     expectations:
       - device: gl-vmware-llvmpipe
         checksum: d76d0f5b5b064bba3e6a2a122c0799cf
+      - device: gl-radeonsi-stoney
+        checksum: bfd97a7190f2b9de24ddfd446fcc4850
   - path: pathfinder/demo.trace
     expectations:
       - device: gl-vmware-llvmpipe
@@ -62,6 +70,8 @@ traces:
         checksum: c4f5e6bfe0cba230b1aef631c2fa4584
       - device: gl-panfrost-t760
         checksum: c4f5e6bfe0cba230b1aef631c2fa4584
+      - device: gl-radeonsi-stoney
+        checksum: c81c85f9b247dd1b06c3dd5b669cc283
   - path: pathfinder/canvas_moire.trace
     expectations:
       - device: gl-vmware-llvmpipe
@@ -70,6 +80,8 @@ traces:
         checksum: 2fb2c8e83719526cb6c02b6c2e069d61
       - device: gl-panfrost-t760
         checksum: 2fb2c8e83719526cb6c02b6c2e069d61
+      - device: gl-radeonsi-stoney
+        checksum: 78dd2357ad6e5ffc049a75bfb11c5497
   - path: pathfinder/canvas_text.trace
     expectations:
       - device: gl-vmware-llvmpipe
@@ -78,6 +90,8 @@ traces:
         checksum: 939038749a5204ec2b1448d3b9208fb3
       - device: gl-panfrost-t760
         checksum: 939038749a5204ec2b1448d3b9208fb3
+      - device: gl-radeonsi-stoney
+        checksum: 56d1398206ceea45562f80f8ea9d3814
   - path: gputest/furmark.trace
     expectations:
       - device: gl-vmware-llvmpipe
@@ -86,12 +100,16 @@ traces:
         checksum: 87ffd45be95f2d55f82325c86ce32f20
       - device: gl-panfrost-t860
         checksum: dc4ece101ed145228840d1f0654118c6
+      - device: gl-radeonsi-stoney
+        checksum: 1c569668d608c644f353caa177d577c6
   - path: gputest/pixmark-piano.trace
     expectations:
       - device: gl-vmware-llvmpipe
         checksum: 022b43b7fff9e8623dcfcd91e6bbe7aa
       - device: gl-virgl
         checksum: 24eb95484e5b8288b3d5d65117c98641
+      - device: gl-radeonsi-stoney
+        checksum: 061226c3fd179c611b8d60acaa44474f
   - path: gputest/triangle.trace
     expectations:
       - device: gl-vmware-llvmpipe
@@ -102,6 +120,8 @@ traces:
         checksum: 6def0c34ade7d4ec930b45d0eef6e46a
       - device: gl-panfrost-t760
         checksum: 6def0c34ade7d4ec930b45d0eef6e46a
+      - device: gl-radeonsi-stoney
+        checksum: 2d0527e7288a0fc31099404546dadbfb
   - path: humus/Portals.trace
     expectations:
       - device: gl-vmware-llvmpipe
@@ -112,3 +132,197 @@ traces:
         checksum: 5415bbf2a69b605bb1052a0e0b0f7040
       - device: gl-panfrost-t760
         checksum: a41f53e9318cbd32c27b48d304df1ea6
+      - device: gl-radeonsi-stoney
+        checksum: b6f00f39566152c3c8462903b7a1f258
+  - path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: ee76b7ffb344d545ee22c1b83d61f893
+  - path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 8f90923d9b9daf7b3708f10b3b019af8
+  - path: glmark2/buffer-columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: db55995d943f1284c39637a116ceb645
+  - path: glmark2/bump-bump-render=height.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: da75c0dfbcb27b44fbaed15b2f29509c
+  - path: glmark2/bump-bump-render=high-poly.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: e2e83a59d4eb6763d2fe922932aa14b5
+  - path: glmark2/bump-bump-render=normals.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: b7beae443e41e229d34da46ab2047a98
+  - path: glmark2/conditionals-fragment-steps=0:vertex-steps=0.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: e95f9a5ce73727a92eeb4109d28caba4
+  - path: glmark2/conditionals-fragment-steps=0:vertex-steps=5.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: e9ff7521f88eebd8a6770ab5eb28fad4
+  - path: glmark2/conditionals-fragment-steps=5:vertex-steps=0.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 0381a3eb918cfecec03a64d06158d1a3
+  - path: glmark2/desktop-effect=shadow:windows=4.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: c21cf8fe26107351eaa97725e6f9883f
+  - path: glmark2/effect2d-kernel=0,1,0;1,-4,1;0,1,0.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 2958ae3442ed26b681b6978e278ba10d
+  - path: glmark2/effect2d-kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 2d4384b59505215932dc2f01ae174379
+  - path: glmark2/function-fragment-complexity=low:fragment-steps=5.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: f84fc1a1ff1a8342678bca081f8a5c0d
+  - path: glmark2/function-fragment-complexity=medium:fragment-steps=5.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 4097ffd5e97bd56589dfab374574d116
+  - path: glmark2/glmark2-build-use-vbo-false.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: e344777696ef13adc2bd943dfd4199a2
+  - path: glmark2/glmark2-build-use-vbo-true.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 51da69c3490816c93c130e63686d2483
+  - path: glmark2/ideas-speed=duration.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 966191b52dc4885cfc56c0e7c80856b2
+  - path: glmark2/loop-fragment-loop=false:fragment-steps=5:vertex-steps=5.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 65cfa43254eaa0ca09ceb8792b4e4ee7
+  - path: glmark2/loop-fragment-steps=5:fragment-uniform=false:vertex-steps=5.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 716f1ebf84d9ab30a8c4261ecbed492b
+  - path: glmark2/loop-fragment-steps=5:fragment-uniform=true:vertex-steps=5.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 45061884dc857a9e0c31d0b0c02d4cbe
+  - path: glmark2/pulsar-light=false:quads=5:texture=false.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 605881a1cb0d8d59e28e19663b6f5eb0
+  - path: glmark2/refract.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: db300d3a8afb6cecc19ae8e38c7b87c6
+  - path: glmark2/shading-shading=blinn-phong-inf.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 36b193b33127144f8080aa60d582e65e
+  - path: glmark2/shading-shading=cel.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: faac1e367720e1ccd9820f2b78808294
+  - path: glmark2/shading-shading=gouraud.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 22bd04eb9862eb4ecff525ac83b2826d
+  - path: glmark2/shading-shading=phong.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: fda002d281d57b3eacb5c2c8f619a62d
+  - path: glmark2/shadow.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 4bf5ca9ce641de1031eb8125d80a3005
+  - path: glmark2/terrain.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 52f19a65bd77ae03b5f51ee0038a2982
+  - path: glmark2/texture-texture-filter=linear.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 992eb4af603d68a3920014f64f0973b1
+  - path: glmark2/texture-texture-filter=mipmap.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: c635b1741e4103cf48cd554882e15a4c
+  - path: glmark2/texture-texture-filter=nearest.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: bd00656bf6683dae40bfa26a6416061d
+  - path: godot/Material Testers.x86_64_2020.04.08_13.38_frame799.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 2ddcda6b1c136ce1448714a3ff8432eb
+  - path: gputest/gimark.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 98e742377cef049e98014300a34d7bba
+  - path: gputest/pixmark-julia-fp32.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: ad472cdef2a68ffaabcbf2a694c4aefe
+  - path: gputest/pixmark-julia-fp64.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: b181b0a910f5ae5b161df70f834c3d5f
+  - path: gputest/pixmark-piano.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 061226c3fd179c611b8d60acaa44474f
+  - path: gputest/pixmark-volplosion.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 2fba173643c014bcfa4b31eb55a514b9
+  - path: gputest/plot3d.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 799ce7b2d8050d6ba2e3ae595cf8729e
+  - path: gputest/tessmark.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: d6597f93caa383c492d8290036c60919
+  - path: humus/AmbientAperture.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 56291d097c4be9c079fb771c849c6a2e
+  - path: humus/CelShading.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 7d30dbe3470873c327464ea7ebe6bcf0
+  - path: humus/DynamicBranching3.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 0f02743d054c66f04da404add87d67dc
+  - path: humus/HDR.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: b44ce4cb377321f6423a5a62a9083794
+  - path: humus/RaytracedShadows.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 4209605af96a1d7c20aa7324aa93839f
+  - path: humus/VolumetricFogging2.trace
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 12ad73ad05b01854da65eb0094612ebf
+  - path: supertuxkart/supertuxkart-antediluvian-abyss.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 17f4039392a65ad23133cb2cac82dba4
+  - path: supertuxkart/supertuxkart-menu.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: bc851bb8808b311c2df9c36a6c289e6e
+  - path: supertuxkart/supertuxkart-ravenbridge-mansion.rdc
+    expectations:
+      - device: gl-radeonsi-stoney
+        checksum: 46f08af5c49d711b41d4082f8a5cf6d6
diff --git a/.gitlab-ci/x86_64.config b/.gitlab-ci/x86_64.config
new file mode 100644
index 00000000000..2a28645e40d
--- /dev/null
+++ b/.gitlab-ci/x86_64.config
@@ -0,0 +1,65 @@
+CONFIG_LOCALVERSION="ccu"
+
+CONFIG_DEBUG_KERNEL=y
+
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+CONFIG_DEVFREQ_GOV_PASSIVE=y
+
+CONFIG_DRM=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_PWM_CROS_EC=y
+CONFIG_BACKLIGHT_PWM=y
+
+# Strip out some stuff we don't need for graphics testing, to reduce
+# the build.
+CONFIG_CAN=n
+CONFIG_WIRELESS=n
+CONFIG_RFKILL=n
+CONFIG_WLAN=n
+
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR=y
+
+CONFIG_REGULATOR_VCTRL=y
+
+CONFIG_KASAN=n
+CONFIG_KASAN_INLINE=n
+CONFIG_STACKTRACE=n
+
+CONFIG_TMPFS=y
+
+CONFIG_PROVE_LOCKING=n
+CONFIG_DEBUG_LOCKDEP=n
+CONFIG_SOFTLOCKUP_DETECTOR=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+
+CONFIG_DETECT_HUNG_TASK=y
+
+CONFIG_USB_USBNET=y
+CONFIG_NETDEVICES=y
+CONFIG_USB_NET_DRIVERS=y
+CONFIG_USB_RTL8152=y
+CONFIG_USB_NET_AX8817X=y
+CONFIG_USB_NET_SMSC95XX=y
+
+CONFIG_FW_LOADER_COMPRESS=y
+
+# options for AMD devices
+CONFIG_X86_AMD_PLATFORM_DEVICE=y
+CONFIG_ACPI_VIDEO=y
+CONFIG_X86_AMD_FREQ_SENSITIVITY=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_AMD=y
+CONFIG_DRM_AMDGPU=y
+CONFIG_DRM_AMDGPU_SI=y
+CONFIG_DRM_AMD_ACP=y
+CONFIG_ACPI_WMI=y
+CONFIG_MXM_WMI=y
+CONFIG_PARPORT=y
+CONFIG_PARPORT_PC=y
+CONFIG_PARPORT_SERIAL=y
+CONFIG_SERIAL_8250_DW=y
+CONFIG_CHROME_PLATFORMS=y
+



More information about the mesa-commit mailing list