ci: Build kernels and rootfs for x86 devices
authorTomeu Vizoso <tomeu.vizoso@collabora.com>
Fri, 3 Jul 2020 08:04:20 +0000 (10:04 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 29 Jul 2020 12:41:45 +0000 (12:41 +0000)
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@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903>

14 files changed:
.gitlab-ci.yml
.gitlab-ci/container/baremetal_build.sh
.gitlab-ci/container/lava_build.sh [moved from .gitlab-ci/container/lava_arm.sh with 87% similarity]
.gitlab-ci/container/x86_build-base.sh
.gitlab-ci/create-rootfs.sh
.gitlab-ci/deqp-radeonsi-stoney-fails.txt [new file with mode: 0644]
.gitlab-ci/deqp-radeonsi-stoney-skips.txt [new file with mode: 0644]
.gitlab-ci/generate_lava.py
.gitlab-ci/lava-deqp.yml.jinja2
.gitlab-ci/lava-gitlab-ci.yml
.gitlab-ci/lava-tracie.yml.jinja2
.gitlab-ci/test-source-dep.yml
.gitlab-ci/traces.yml
.gitlab-ci/x86_64.config [new file with mode: 0644]

index 0943b5d..e63539f 100644 (file)
@@ -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@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
index e7e92ba..edfd4f9 100644 (file)
@@ -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
similarity index 87%
rename from .gitlab-ci/container/lava_arm.sh
rename to .gitlab-ci/container/lava_build.sh
index baee8d8..7a7e997 100755 (executable)
@@ -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 \
index a833dcd..e6a1db2 100644 (file)
@@ -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
index 8422bab..4f4609e 100644 (file)
@@ -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 (file)
index 0000000..e69de29
diff --git a/.gitlab-ci/deqp-radeonsi-stoney-skips.txt b/.gitlab-ci/deqp-radeonsi-stoney-skips.txt
new file mode 100644 (file)
index 0000000..69d0087
--- /dev/null
@@ -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.*
+
index 61da428..6f887c5 100755 (executable)
@@ -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
index 92a48ed..639f1d1 100644 (file)
@@ -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:
index 1be28ef..0055ef5 100644 (file)
@@ -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
index f8b6bcb..0811c67 100644 (file)
@@ -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:
index 6a006b8..fc65153 100644 (file)
       - 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
index 19949e9..5f0e259 100644 (file)
@@ -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 (file)
index 0000000..2a28645
--- /dev/null
@@ -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
+