2019-01-20 11:21:45 +00:00
|
|
|
variables:
|
2020-03-06 21:23:20 +00:00
|
|
|
FDO_UPSTREAM_REPO: mesa/mesa
|
2019-04-02 07:24:00 +00:00
|
|
|
|
|
|
|
include:
|
2020-03-06 21:23:20 +00:00
|
|
|
- project: 'freedesktop/ci-templates'
|
2020-04-29 16:47:08 +00:00
|
|
|
ref: 59de540b620c45739871d1a073d76d5521989d11
|
2019-04-02 14:56:54 +00:00
|
|
|
file: '/templates/debian.yml'
|
2019-10-23 21:36:19 +00:00
|
|
|
- local: '.gitlab-ci/lava-gitlab-ci.yml'
|
2019-10-30 19:39:08 +00:00
|
|
|
- local: '.gitlab-ci/test-source-dep.yml'
|
2019-09-18 14:03:36 +00:00
|
|
|
|
2019-01-20 11:21:45 +00:00
|
|
|
stages:
|
2019-10-14 22:04:14 +00:00
|
|
|
- container
|
2020-02-27 17:27:56 +00:00
|
|
|
- meson-x86_64
|
|
|
|
- scons
|
|
|
|
- meson-misc
|
|
|
|
- llvmpipe
|
|
|
|
- softpipe
|
|
|
|
- freedreno
|
|
|
|
- panfrost
|
2020-03-06 07:39:25 +00:00
|
|
|
- radv
|
|
|
|
- lima
|
2020-04-01 07:17:25 +00:00
|
|
|
- virgl
|
2020-01-13 08:45:57 +00:00
|
|
|
- success
|
2019-01-20 11:21:45 +00:00
|
|
|
|
|
|
|
|
2019-02-22 15:52:08 +00:00
|
|
|
# When to automatically run the CI
|
2019-09-06 15:35:52 +00:00
|
|
|
.ci-run-policy:
|
2019-09-26 07:27:27 +00:00
|
|
|
rules:
|
2020-04-03 10:50:11 +00:00
|
|
|
# If any files affecting the pipeline are changed, build/test jobs run
|
|
|
|
# automatically once all dependency jobs have passed
|
|
|
|
- changes: &all_paths
|
2020-01-13 08:45:57 +00:00
|
|
|
- VERSION
|
2020-05-14 20:51:38 +00:00
|
|
|
- bin/git_sha1_gen.py
|
|
|
|
- bin/install_megadrivers.py
|
|
|
|
- bin/meson_get_version.py
|
|
|
|
- bin/symbols-check.py
|
2020-01-13 08:45:57 +00:00
|
|
|
# GitLab CI
|
|
|
|
- .gitlab-ci.yml
|
|
|
|
- .gitlab-ci/**/*
|
|
|
|
# Meson
|
|
|
|
- meson*
|
|
|
|
- build-support/**/*
|
|
|
|
- subprojects/**/*
|
|
|
|
# SCons
|
|
|
|
- SConstruct
|
|
|
|
- scons/**/*
|
|
|
|
- common.py
|
|
|
|
# Source code
|
|
|
|
- include/**/*
|
|
|
|
- src/**/*
|
|
|
|
when: on_success
|
2020-04-03 10:50:11 +00:00
|
|
|
# Otherwise, build/test jobs won't run
|
2020-01-13 08:45:57 +00:00
|
|
|
- when: never
|
2019-03-26 17:39:41 +00:00
|
|
|
retry:
|
|
|
|
max: 2
|
|
|
|
when:
|
|
|
|
- runner_system_failure
|
2019-11-12 23:42:21 +00:00
|
|
|
# Cancel CI run if a newer commit is pushed to the same branch
|
|
|
|
interruptible: true
|
2019-02-22 15:52:08 +00:00
|
|
|
|
2020-01-13 08:45:57 +00:00
|
|
|
success:
|
|
|
|
stage: success
|
|
|
|
image: debian:stable-slim
|
|
|
|
only:
|
|
|
|
- merge_requests
|
|
|
|
except:
|
|
|
|
changes:
|
2020-04-03 09:17:48 +00:00
|
|
|
*all_paths
|
2020-01-20 17:34:34 +00:00
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: none
|
2020-01-13 08:45:57 +00:00
|
|
|
script:
|
|
|
|
- echo "Dummy job to make sure every merge request pipeline runs at least one job"
|
|
|
|
|
|
|
|
|
2019-09-06 15:35:52 +00:00
|
|
|
.ci-deqp-artifacts:
|
2019-06-28 23:35:32 +00:00
|
|
|
artifacts:
|
2020-03-06 11:35:17 +00:00
|
|
|
name: "mesa_${CI_JOB_NAME}"
|
2019-06-28 23:35:32 +00:00
|
|
|
when: always
|
|
|
|
untracked: false
|
|
|
|
paths:
|
|
|
|
# Watch out! Artifacts are relative to the build dir.
|
|
|
|
# https://gitlab.com/gitlab-org/gitlab-ce/commit/8788fb925706cad594adf6917a6c5f6587dd1521
|
|
|
|
- artifacts
|
2019-02-22 15:52:08 +00:00
|
|
|
|
2019-12-17 10:50:14 +00:00
|
|
|
# Build the CI docker images.
|
2019-11-11 17:13:28 +00:00
|
|
|
#
|
2020-03-06 21:23:20 +00:00
|
|
|
# FDO_DISTRIBUTION_TAG is the tag of the docker image used by later stage jobs. If the
|
2019-11-11 17:13:28 +00:00
|
|
|
# image doesn't exist yet, the container stage job generates it.
|
|
|
|
#
|
|
|
|
# In order to generate a new image, one should generally change the tag.
|
|
|
|
# While removing the image from the registry would also work, that's not
|
|
|
|
# recommended except for ephemeral images during development: Replacing
|
|
|
|
# an image after a significant amount of time might pull in newer
|
|
|
|
# versions of gcc/clang or other packages, which might break the build
|
|
|
|
# with older commits using the same tag.
|
|
|
|
#
|
|
|
|
# After merging a change resulting in generating a new image to the
|
|
|
|
# main repository, it's recommended to remove the image from the source
|
|
|
|
# repository's container registry, so that the image from the main
|
|
|
|
# repository's registry will be used there as well.
|
2019-09-06 15:04:47 +00:00
|
|
|
|
2019-10-14 22:04:14 +00:00
|
|
|
.container:
|
|
|
|
stage: container
|
|
|
|
extends:
|
|
|
|
- .ci-run-policy
|
2020-04-03 10:50:11 +00:00
|
|
|
rules:
|
2020-04-03 09:46:12 +00:00
|
|
|
# Run pipeline by default if it was triggered by Marge Bot, is for a
|
|
|
|
# merge request, and any files affecting it were changed
|
|
|
|
- if: '$GITLAB_USER_LOGIN == "marge-bot" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
|
2020-04-03 10:50:11 +00:00
|
|
|
changes:
|
|
|
|
*all_paths
|
|
|
|
when: on_success
|
|
|
|
# Run pipeline by default in the main project if any files affecting it were
|
|
|
|
# changed
|
|
|
|
- if: '$CI_PROJECT_PATH == "mesa/mesa"'
|
|
|
|
changes:
|
|
|
|
*all_paths
|
|
|
|
when: on_success
|
2020-04-03 09:46:12 +00:00
|
|
|
# Allow triggering jobs manually for MRs or branches of forked projects if
|
|
|
|
# any files affecting the pipeline were changed
|
|
|
|
- changes:
|
2020-04-03 10:50:11 +00:00
|
|
|
*all_paths
|
|
|
|
when: manual
|
|
|
|
# Otherwise, container jobs won't run
|
|
|
|
- when: never
|
2019-10-14 22:04:14 +00:00
|
|
|
variables:
|
2020-03-06 21:23:20 +00:00
|
|
|
FDO_DISTRIBUTION_VERSION: buster-slim
|
2020-03-23 17:16:07 +00:00
|
|
|
FDO_REPO_SUFFIX: "debian/$CI_JOB_NAME"
|
2020-03-06 21:23:20 +00:00
|
|
|
FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
|
2019-10-14 22:04:14 +00:00
|
|
|
# no need to pull the whole repo to build the container image
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
|
2019-11-11 17:13:28 +00:00
|
|
|
# Debian 10 based x86 build image
|
2019-11-13 16:43:41 +00:00
|
|
|
x86_build:
|
2019-09-06 15:35:52 +00:00
|
|
|
extends:
|
2020-03-23 17:16:07 +00:00
|
|
|
- .fdo.container-build@debian
|
2019-10-14 22:04:14 +00:00
|
|
|
- .container
|
2019-11-11 17:13:28 +00:00
|
|
|
variables:
|
2020-05-14 17:38:12 +00:00
|
|
|
FDO_DISTRIBUTION_TAG: &x86_build "2020-05-18-baremetal-2"
|
2019-01-20 11:26:53 +00:00
|
|
|
|
2019-11-13 16:43:41 +00:00
|
|
|
.use-x86_build:
|
2019-11-11 17:13:28 +00:00
|
|
|
variables:
|
|
|
|
TAG: *x86_build
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/x86_build:$TAG"
|
2019-10-10 13:27:17 +00:00
|
|
|
needs:
|
2019-11-13 16:43:41 +00:00
|
|
|
- x86_build
|
2019-10-10 13:27:17 +00:00
|
|
|
|
2019-11-18 08:15:12 +00:00
|
|
|
# Debian 10 based x86 test image for GL
|
|
|
|
x86_test-gl:
|
2019-11-13 16:43:41 +00:00
|
|
|
extends: x86_build
|
2019-11-05 17:52:24 +00:00
|
|
|
variables:
|
2020-05-04 16:11:08 +00:00
|
|
|
FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-05-18"
|
2019-11-05 17:52:24 +00:00
|
|
|
|
2019-11-18 08:23:18 +00:00
|
|
|
# Debian 10 based x86 test image for VK
|
|
|
|
x86_test-vk:
|
|
|
|
extends: x86_build
|
|
|
|
variables:
|
2020-05-04 16:11:08 +00:00
|
|
|
FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-05-18"
|
2019-11-18 08:23:18 +00:00
|
|
|
|
2019-11-11 17:13:28 +00:00
|
|
|
# Debian 9 based x86 build image (old LLVM)
|
2019-11-13 16:43:41 +00:00
|
|
|
x86_build_old:
|
|
|
|
extends: x86_build
|
2019-09-06 15:04:47 +00:00
|
|
|
variables:
|
2020-02-11 23:44:56 +00:00
|
|
|
FDO_DISTRIBUTION_TAG: &x86_build_old "2019-03-18-jflags"
|
2020-03-06 21:23:20 +00:00
|
|
|
FDO_DISTRIBUTION_VERSION: stretch-slim
|
2019-09-06 15:04:47 +00:00
|
|
|
|
2019-11-13 16:43:41 +00:00
|
|
|
.use-x86_build_old:
|
2019-11-11 17:13:28 +00:00
|
|
|
variables:
|
|
|
|
TAG: *x86_build_old
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/x86_build_old:$TAG"
|
2019-09-18 14:17:01 +00:00
|
|
|
needs:
|
2019-11-13 16:43:41 +00:00
|
|
|
- x86_build_old
|
2019-09-18 14:17:01 +00:00
|
|
|
|
2019-11-11 17:13:28 +00:00
|
|
|
# Debian 10 based ARM build image
|
2019-11-13 16:43:41 +00:00
|
|
|
arm_build:
|
2019-09-06 15:35:52 +00:00
|
|
|
extends:
|
2020-03-23 17:16:07 +00:00
|
|
|
- .fdo.container-build@debian@arm64v8
|
2019-10-14 22:04:14 +00:00
|
|
|
- .container
|
2019-06-28 23:35:32 +00:00
|
|
|
variables:
|
2020-05-13 23:58:26 +00:00
|
|
|
FDO_DISTRIBUTION_TAG: &arm_build "2020-05-14-baremetal-5"
|
2019-11-11 17:13:28 +00:00
|
|
|
|
|
|
|
.use-arm_build:
|
|
|
|
variables:
|
|
|
|
TAG: *arm_build
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/arm_build:$TAG"
|
|
|
|
needs:
|
|
|
|
- arm_build
|
2019-01-20 11:26:53 +00:00
|
|
|
|
2020-05-13 18:08:08 +00:00
|
|
|
# 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
|
|
|
|
|
|
|
|
|
2019-11-11 17:13:28 +00:00
|
|
|
# Debian 10 based ARM test image
|
2019-11-13 16:43:41 +00:00
|
|
|
arm_test:
|
2019-11-11 17:13:28 +00:00
|
|
|
extends: arm_build
|
|
|
|
variables:
|
2020-02-11 23:44:56 +00:00
|
|
|
FDO_DISTRIBUTION_TAG: &arm_test "2020-03-18-jflags"
|
2019-11-11 17:13:28 +00:00
|
|
|
|
|
|
|
.use-arm_test:
|
2019-11-04 08:54:09 +00:00
|
|
|
variables:
|
2019-11-11 17:13:28 +00:00
|
|
|
TAG: *arm_test
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/arm_test:$TAG"
|
|
|
|
needs:
|
|
|
|
- meson-arm64
|
|
|
|
- arm_test
|
2019-11-04 08:54:09 +00:00
|
|
|
|
2020-03-24 11:11:36 +00:00
|
|
|
# Native Windows docker builds
|
|
|
|
#
|
|
|
|
# Unlike the above Linux-based builds - including MinGW/SCons builds which
|
|
|
|
# cross-compile for Windows - which use the freedesktop ci-templates, we
|
|
|
|
# cannot use the same scheme here. As Windows lacks support for
|
|
|
|
# Docker-in-Docker, and Podman does not run natively on Windows, we have
|
|
|
|
# to open-code much of the same ourselves.
|
|
|
|
#
|
|
|
|
# This is achieved by first running in a native Windows shell instance
|
|
|
|
# (host PowerShell) in the container stage to build and push the image,
|
|
|
|
# then in the build stage by executing inside Docker.
|
|
|
|
|
|
|
|
.windows-docker-vs2019:
|
|
|
|
variables:
|
2020-05-05 14:49:22 +00:00
|
|
|
WINDOWS_TAG: "2020-05-05-llvm"
|
2020-03-24 11:11:36 +00:00
|
|
|
WINDOWS_IMAGE: "$CI_REGISTRY_IMAGE/windows/x64_build:$WINDOWS_TAG"
|
|
|
|
WINDOWS_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/windows/x64_build:$WINDOWS_TAG"
|
|
|
|
|
2020-04-16 13:56:18 +00:00
|
|
|
windows_build_vs2019:
|
2020-03-24 11:11:36 +00:00
|
|
|
extends:
|
|
|
|
- .container
|
|
|
|
- .windows-docker-vs2019
|
|
|
|
stage: container
|
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: fetch # we do actually need the full repository though
|
2020-05-05 14:49:22 +00:00
|
|
|
timeout: 4h # LLVM takes ages
|
2020-03-24 11:11:36 +00:00
|
|
|
tags:
|
|
|
|
- windows
|
|
|
|
- shell
|
|
|
|
- "1809"
|
2020-03-30 09:16:18 +00:00
|
|
|
- mesa
|
2020-03-24 11:11:36 +00:00
|
|
|
script:
|
|
|
|
- .\.gitlab-ci\windows\mesa_container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $WINDOWS_IMAGE $WINDOWS_UPSTREAM_IMAGE
|
|
|
|
|
|
|
|
.use-windows_build_vs2019:
|
|
|
|
extends: .windows-docker-vs2019
|
|
|
|
image: "$WINDOWS_IMAGE"
|
|
|
|
needs:
|
2020-04-16 13:56:18 +00:00
|
|
|
- windows_build_vs2019
|
2019-10-14 22:04:14 +00:00
|
|
|
|
2019-01-20 11:26:53 +00:00
|
|
|
# BUILD
|
|
|
|
|
2019-10-23 21:21:31 +00:00
|
|
|
# Shared between windows and Linux
|
|
|
|
.build-common:
|
2019-10-14 22:52:58 +00:00
|
|
|
extends: .ci-run-policy
|
2019-01-20 11:26:53 +00:00
|
|
|
artifacts:
|
2020-03-06 11:35:17 +00:00
|
|
|
name: "mesa_${CI_JOB_NAME}"
|
2019-07-24 16:27:48 +00:00
|
|
|
when: always
|
|
|
|
paths:
|
|
|
|
- _build/meson-logs/*.txt
|
|
|
|
# scons:
|
2019-07-26 10:20:41 +00:00
|
|
|
- build/*/config.log
|
2019-04-10 22:59:12 +00:00
|
|
|
- shader-db
|
2019-10-23 21:21:31 +00:00
|
|
|
|
|
|
|
# Just Linux
|
|
|
|
.build-linux:
|
|
|
|
extends: .build-common
|
2019-04-04 16:01:27 +00:00
|
|
|
variables:
|
|
|
|
CCACHE_COMPILERCHECK: "content"
|
2019-11-20 08:11:35 +00:00
|
|
|
CCACHE_COMPRESS: "true"
|
|
|
|
CCACHE_DIR: /cache/mesa/ccache
|
2019-02-12 16:59:27 +00:00
|
|
|
# Use ccache transparently, and print stats before/after
|
|
|
|
before_script:
|
|
|
|
- export PATH="/usr/lib/ccache:$PATH"
|
|
|
|
- export CCACHE_BASEDIR="$PWD"
|
2019-11-20 08:11:35 +00:00
|
|
|
- ccache --show-stats
|
2019-02-12 16:59:27 +00:00
|
|
|
after_script:
|
|
|
|
- ccache --show-stats
|
2019-01-20 11:26:53 +00:00
|
|
|
|
2019-10-23 21:36:19 +00:00
|
|
|
.build-windows:
|
|
|
|
extends: .build-common
|
|
|
|
tags:
|
2020-03-24 11:11:36 +00:00
|
|
|
- windows
|
|
|
|
- docker
|
|
|
|
- "1809"
|
2020-03-30 14:58:51 +00:00
|
|
|
- mesa
|
2019-10-23 21:36:19 +00:00
|
|
|
cache:
|
|
|
|
key: ${CI_JOB_NAME}
|
|
|
|
paths:
|
|
|
|
- subprojects/packagecache
|
|
|
|
|
2019-01-20 11:26:53 +00:00
|
|
|
.meson-build:
|
2019-10-14 22:52:58 +00:00
|
|
|
extends:
|
2019-10-23 21:21:31 +00:00
|
|
|
- .build-linux
|
2019-11-13 16:43:41 +00:00
|
|
|
- .use-x86_build
|
2020-02-27 17:27:56 +00:00
|
|
|
stage: meson-x86_64
|
2019-12-13 10:02:16 +00:00
|
|
|
variables:
|
|
|
|
LLVM_VERSION: 9
|
2019-02-12 16:59:27 +00:00
|
|
|
script:
|
2019-05-03 08:49:43 +00:00
|
|
|
- .gitlab-ci/meson-build.sh
|
2019-01-20 11:26:53 +00:00
|
|
|
|
2019-01-23 15:46:10 +00:00
|
|
|
.scons-build:
|
2019-10-14 22:52:58 +00:00
|
|
|
extends:
|
2019-10-23 21:21:31 +00:00
|
|
|
- .build-linux
|
2019-11-13 16:43:41 +00:00
|
|
|
- .use-x86_build
|
2020-02-27 17:27:56 +00:00
|
|
|
stage: scons
|
2019-01-23 15:46:10 +00:00
|
|
|
variables:
|
2019-11-06 19:14:14 +00:00
|
|
|
SCONSFLAGS: "-j4"
|
2019-01-23 15:46:10 +00:00
|
|
|
script:
|
2019-09-12 09:34:43 +00:00
|
|
|
- .gitlab-ci/scons-build.sh
|
2019-01-23 15:46:10 +00:00
|
|
|
|
2019-11-19 11:23:41 +00:00
|
|
|
meson-testing:
|
2019-09-06 15:35:52 +00:00
|
|
|
extends:
|
|
|
|
- .meson-build
|
|
|
|
- .ci-deqp-artifacts
|
2019-11-19 11:23:41 +00:00
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=dri
|
|
|
|
-D gbm=true
|
|
|
|
-D egl=true
|
|
|
|
-D platforms=x11,drm,surfaceless
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=true
|
2020-04-01 07:17:25 +00:00
|
|
|
GALLIUM_DRIVERS: "swrast,virgl"
|
2019-11-19 13:46:53 +00:00
|
|
|
VULKAN_DRIVERS: amd
|
2019-11-19 11:23:41 +00:00
|
|
|
BUILDTYPE: "debugoptimized"
|
2019-12-17 05:23:02 +00:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D werror=true
|
2019-11-19 11:23:41 +00:00
|
|
|
script:
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
- .gitlab-ci/prepare-artifacts.sh
|
|
|
|
|
2020-03-12 11:29:40 +00:00
|
|
|
meson-gallium:
|
2019-11-19 11:23:41 +00:00
|
|
|
extends: .meson-build
|
2019-08-28 10:01:02 +00:00
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=dri
|
|
|
|
-D gbm=true
|
|
|
|
-D egl=true
|
|
|
|
-D platforms=x11,wayland,drm,surfaceless
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=true
|
|
|
|
-D gallium-extra-hud=true
|
|
|
|
-D gallium-vdpau=true
|
|
|
|
-D gallium-xvmc=true
|
|
|
|
-D gallium-omx=bellagio
|
|
|
|
-D gallium-va=true
|
|
|
|
-D gallium-xa=true
|
|
|
|
-D gallium-nine=true
|
|
|
|
-D gallium-opencl=disabled
|
2019-11-19 13:36:02 +00:00
|
|
|
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swr,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink"
|
2019-08-28 10:01:02 +00:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D osmesa=gallium
|
|
|
|
-D tools=all
|
2019-10-23 16:42:53 +00:00
|
|
|
script:
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
- .gitlab-ci/run-shader-db.sh
|
2019-08-28 10:01:02 +00:00
|
|
|
|
2020-03-12 11:29:40 +00:00
|
|
|
meson-classic:
|
|
|
|
extends: .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=dri
|
|
|
|
-D gbm=true
|
|
|
|
-D egl=true
|
|
|
|
-D platforms=x11,wayland,drm,surfaceless
|
|
|
|
DRI_DRIVERS: "auto"
|
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D osmesa=classic
|
|
|
|
-D tools=all
|
|
|
|
|
2019-09-13 09:59:43 +00:00
|
|
|
.meson-cross:
|
|
|
|
extends:
|
|
|
|
- .meson-build
|
2020-02-27 17:27:56 +00:00
|
|
|
stage: meson-misc
|
2019-09-13 09:59:43 +00:00
|
|
|
variables:
|
|
|
|
UNWIND: "false"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=disabled
|
|
|
|
-D gbm=false
|
|
|
|
-D egl=true
|
|
|
|
-D platforms=surfaceless
|
|
|
|
-D osmesa=none
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=false
|
|
|
|
-D gallium-vdpau=false
|
|
|
|
-D gallium-xvmc=false
|
|
|
|
-D gallium-omx=disabled
|
|
|
|
-D gallium-va=false
|
|
|
|
-D gallium-xa=false
|
|
|
|
-D gallium-nine=false
|
2020-01-30 17:21:15 +00:00
|
|
|
LLVM_VERSION: "8"
|
2019-09-13 09:59:43 +00:00
|
|
|
|
2019-10-08 17:46:11 +00:00
|
|
|
.meson-arm:
|
2019-11-11 17:13:28 +00:00
|
|
|
extends:
|
|
|
|
- .meson-cross
|
|
|
|
- .use-arm_build
|
2019-09-13 09:59:43 +00:00
|
|
|
variables:
|
|
|
|
VULKAN_DRIVERS: freedreno
|
2019-10-08 17:48:41 +00:00
|
|
|
GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
|
2019-12-17 10:50:14 +00:00
|
|
|
BUILDTYPE: "debugoptimized"
|
2019-10-08 17:46:11 +00:00
|
|
|
tags:
|
|
|
|
- aarch64
|
|
|
|
|
|
|
|
meson-armhf:
|
2019-12-17 10:50:14 +00:00
|
|
|
extends:
|
|
|
|
- .meson-arm
|
|
|
|
- .ci-deqp-artifacts
|
2019-10-08 17:46:11 +00:00
|
|
|
variables:
|
|
|
|
CROSS: armhf
|
2019-10-08 17:48:41 +00:00
|
|
|
LLVM_VERSION: "7"
|
2020-02-24 18:31:33 +00:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D llvm=false
|
2019-12-17 10:50:14 +00:00
|
|
|
script:
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
- .gitlab-ci/prepare-artifacts.sh
|
2019-09-13 09:59:43 +00:00
|
|
|
|
|
|
|
meson-arm64:
|
2019-10-08 17:46:11 +00:00
|
|
|
extends:
|
|
|
|
- .meson-arm
|
|
|
|
- .ci-deqp-artifacts
|
2019-09-13 09:59:43 +00:00
|
|
|
variables:
|
2020-02-20 15:37:48 +00:00
|
|
|
VULKAN_DRIVERS: "freedreno"
|
2020-02-24 18:31:33 +00:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D llvm=false
|
2019-10-23 16:42:53 +00:00
|
|
|
script:
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
- .gitlab-ci/prepare-artifacts.sh
|
2019-09-13 09:59:43 +00:00
|
|
|
|
2020-02-20 15:37:48 +00:00
|
|
|
meson-arm64-build-test:
|
|
|
|
extends:
|
|
|
|
- .meson-arm
|
|
|
|
- .ci-deqp-artifacts
|
|
|
|
variables:
|
|
|
|
VULKAN_DRIVERS: "amd"
|
|
|
|
script:
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
|
2019-03-20 14:58:31 +00:00
|
|
|
meson-clang:
|
|
|
|
extends: .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
2019-11-19 13:37:32 +00:00
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glvnd=true
|
2019-03-20 14:58:31 +00:00
|
|
|
DRI_DRIVERS: "auto"
|
|
|
|
GALLIUM_DRIVERS: "auto"
|
2019-05-01 11:09:26 +00:00
|
|
|
VULKAN_DRIVERS: intel,amd,freedreno
|
2019-12-13 10:02:16 +00:00
|
|
|
CC: "ccache clang-9"
|
|
|
|
CXX: "ccache clang++-9"
|
2019-03-20 14:58:31 +00:00
|
|
|
|
2020-04-16 13:56:18 +00:00
|
|
|
meson-windows-vs2019:
|
2019-10-23 21:36:19 +00:00
|
|
|
extends:
|
|
|
|
- .build-windows
|
2020-03-24 11:11:36 +00:00
|
|
|
- .use-windows_build_vs2019
|
2020-02-27 17:27:56 +00:00
|
|
|
stage: meson-misc
|
2019-10-23 21:36:19 +00:00
|
|
|
script:
|
2020-03-24 11:11:36 +00:00
|
|
|
- . .\.gitlab-ci\windows\mesa_build.ps1
|
2019-10-23 21:36:19 +00:00
|
|
|
|
2019-05-03 16:19:25 +00:00
|
|
|
scons-win64:
|
|
|
|
extends: .scons-build
|
|
|
|
variables:
|
2020-03-28 10:36:28 +00:00
|
|
|
SCONS_TARGET: platform=windows machine=x86_64 debug=1
|
2019-05-03 16:19:25 +00:00
|
|
|
SCONS_CHECK_COMMAND: "true"
|
2020-03-28 10:36:28 +00:00
|
|
|
allow_failure: true
|
2019-01-21 09:42:37 +00:00
|
|
|
|
2019-05-03 08:58:48 +00:00
|
|
|
meson-clover:
|
2019-01-28 18:05:22 +00:00
|
|
|
extends: .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=disabled
|
|
|
|
-D egl=false
|
|
|
|
-D gbm=false
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=false
|
|
|
|
-D gallium-vdpau=false
|
|
|
|
-D gallium-xvmc=false
|
|
|
|
-D gallium-omx=disabled
|
|
|
|
-D gallium-va=false
|
|
|
|
-D gallium-xa=false
|
|
|
|
-D gallium-nine=false
|
|
|
|
-D gallium-opencl=icd
|
2019-05-03 08:58:48 +00:00
|
|
|
script:
|
|
|
|
- export GALLIUM_DRIVERS="r600,radeonsi"
|
|
|
|
- .gitlab-ci/meson-build.sh
|
2019-08-21 09:45:25 +00:00
|
|
|
- LLVM_VERSION=8 .gitlab-ci/meson-build.sh
|
2019-05-03 08:58:48 +00:00
|
|
|
- export GALLIUM_DRIVERS="i915,r600"
|
2019-09-06 15:04:47 +00:00
|
|
|
- LLVM_VERSION=6.0 .gitlab-ci/meson-build.sh
|
|
|
|
- LLVM_VERSION=7 .gitlab-ci/meson-build.sh
|
|
|
|
|
|
|
|
meson-clover-old-llvm:
|
2019-09-18 14:17:01 +00:00
|
|
|
extends:
|
|
|
|
- meson-clover
|
2019-11-13 16:43:41 +00:00
|
|
|
- .use-x86_build_old
|
2019-09-06 15:04:47 +00:00
|
|
|
variables:
|
|
|
|
UNWIND: "false"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=disabled
|
|
|
|
-D egl=false
|
|
|
|
-D gbm=false
|
|
|
|
-D platforms=drm,surfaceless
|
|
|
|
GALLIUM_DRIVERS: "i915,r600"
|
|
|
|
script:
|
2019-05-03 08:58:48 +00:00
|
|
|
- LLVM_VERSION=3.9 .gitlab-ci/meson-build.sh
|
|
|
|
- LLVM_VERSION=4.0 .gitlab-ci/meson-build.sh
|
|
|
|
- LLVM_VERSION=5.0 .gitlab-ci/meson-build.sh
|
2019-01-28 18:09:24 +00:00
|
|
|
|
2019-05-03 16:19:25 +00:00
|
|
|
meson-vulkan:
|
|
|
|
extends: .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "false"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=disabled
|
|
|
|
-D gbm=false
|
|
|
|
-D egl=false
|
|
|
|
-D platforms=x11,wayland,drm
|
|
|
|
-D osmesa=none
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=true
|
|
|
|
-D gallium-vdpau=false
|
|
|
|
-D gallium-xvmc=false
|
|
|
|
-D gallium-omx=disabled
|
|
|
|
-D gallium-va=false
|
|
|
|
-D gallium-xa=false
|
|
|
|
-D gallium-nine=false
|
|
|
|
-D gallium-opencl=disabled
|
2019-09-25 10:56:58 +00:00
|
|
|
-D b_sanitize=undefined
|
|
|
|
-D c_args=-fno-sanitize-recover=all
|
|
|
|
-D cpp_args=-fno-sanitize-recover=all
|
|
|
|
UBSAN_OPTIONS: "print_stacktrace=1"
|
2019-05-03 16:19:25 +00:00
|
|
|
VULKAN_DRIVERS: intel,amd,freedreno
|
2019-05-08 16:17:23 +00:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D vulkan-overlay-layer=true
|
2019-12-17 05:23:02 +00:00
|
|
|
-D werror=true
|
2019-05-03 16:19:25 +00:00
|
|
|
|
2019-07-11 19:58:28 +00:00
|
|
|
meson-i386:
|
|
|
|
extends: .meson-cross
|
|
|
|
variables:
|
2019-08-09 22:46:50 +00:00
|
|
|
CROSS: i386
|
2020-03-04 08:37:46 +00:00
|
|
|
VULKAN_DRIVERS: intel,amd
|
2020-03-12 11:31:05 +00:00
|
|
|
GALLIUM_DRIVERS: "iris,r300,radeonsi,swrast,virgl"
|
2019-07-11 19:58:28 +00:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D vulkan-overlay-layer=true
|
2019-12-17 05:23:02 +00:00
|
|
|
-D werror=true
|
2020-03-04 08:37:46 +00:00
|
|
|
script:
|
|
|
|
- dpkg -i /var/cache/apt/archives/$CROSS/*.deb
|
|
|
|
- .gitlab-ci/meson-build.sh
|
2019-07-11 19:58:28 +00:00
|
|
|
|
2020-01-30 17:21:15 +00:00
|
|
|
meson-s390x:
|
|
|
|
extends:
|
|
|
|
- .meson-cross
|
2020-03-18 17:41:43 +00:00
|
|
|
tags:
|
|
|
|
- kvm
|
2020-01-30 17:21:15 +00:00
|
|
|
variables:
|
|
|
|
CROSS: s390x
|
|
|
|
GALLIUM_DRIVERS: "swrast"
|
|
|
|
script:
|
2020-03-04 08:37:46 +00:00
|
|
|
# For unknown reasons "too many" installed i386 libraries cause qemu to
|
|
|
|
# crash while executing llvm-config for s390x.
|
2020-04-27 10:42:58 +00:00
|
|
|
- apt-get purge -y wine32
|
2020-04-22 13:51:48 +00:00
|
|
|
- apt-get autoremove -y --purge
|
2020-01-30 17:21:15 +00:00
|
|
|
- dpkg -i /var/cache/apt/archives/$CROSS/*.deb
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
|
|
|
|
meson-ppc64el:
|
|
|
|
extends:
|
|
|
|
- meson-s390x
|
|
|
|
variables:
|
|
|
|
CROSS: ppc64el
|
2020-01-31 15:07:10 +00:00
|
|
|
GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl"
|
|
|
|
VULKAN_DRIVERS: "amd"
|
2020-01-30 17:21:15 +00:00
|
|
|
|
2019-10-11 16:04:14 +00:00
|
|
|
meson-mingw32-x86_64:
|
2019-09-19 17:21:51 +00:00
|
|
|
extends: .meson-build
|
2020-02-27 17:27:56 +00:00
|
|
|
stage: meson-misc
|
2019-09-19 17:21:51 +00:00
|
|
|
variables:
|
|
|
|
UNWIND: "false"
|
|
|
|
DRI_DRIVERS: ""
|
|
|
|
GALLIUM_DRIVERS: "swrast"
|
|
|
|
EXTRA_OPTION: >
|
|
|
|
-Dllvm=false
|
|
|
|
-Dosmesa=gallium
|
|
|
|
--cross-file=.gitlab-ci/x86_64-w64-mingw32
|
|
|
|
|
2019-11-18 08:30:27 +00:00
|
|
|
.test:
|
2019-10-14 22:53:15 +00:00
|
|
|
extends:
|
2019-10-22 15:16:52 +00:00
|
|
|
- .ci-run-policy
|
2019-10-14 22:53:15 +00:00
|
|
|
variables:
|
2019-10-22 15:16:52 +00:00
|
|
|
GIT_STRATEGY: none # testing doesn't build anything from source
|
|
|
|
before_script:
|
2019-06-28 23:35:32 +00:00
|
|
|
# Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
|
|
|
|
- rm -rf install
|
|
|
|
- tar -xf artifacts/install.tar
|
2019-11-14 13:00:46 +00:00
|
|
|
- LD_LIBRARY_PATH=install/lib find install/lib -name "*.so" -print -exec ldd {} \;
|
2019-06-28 23:35:32 +00:00
|
|
|
artifacts:
|
2019-11-17 19:33:01 +00:00
|
|
|
when: always
|
2020-03-06 11:35:17 +00:00
|
|
|
name: "mesa_${CI_JOB_NAME}"
|
2019-06-28 23:35:32 +00:00
|
|
|
paths:
|
|
|
|
- results/
|
2019-09-13 09:13:12 +00:00
|
|
|
dependencies:
|
2019-11-19 11:23:41 +00:00
|
|
|
- meson-testing
|
2019-11-18 08:30:27 +00:00
|
|
|
|
|
|
|
.test-gl:
|
|
|
|
extends:
|
|
|
|
- .test
|
|
|
|
variables:
|
|
|
|
TAG: *x86_test-gl
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/x86_test-gl:$TAG"
|
2019-10-22 09:19:17 +00:00
|
|
|
needs:
|
2019-11-19 11:23:41 +00:00
|
|
|
- meson-testing
|
2019-11-18 08:15:12 +00:00
|
|
|
- x86_test-gl
|
2019-06-28 23:35:32 +00:00
|
|
|
|
2019-11-18 08:30:27 +00:00
|
|
|
.test-vk:
|
|
|
|
extends:
|
|
|
|
- .test
|
|
|
|
variables:
|
|
|
|
TAG: *x86_test-vk
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/x86_test-vk:$TAG"
|
|
|
|
needs:
|
|
|
|
- meson-testing
|
|
|
|
- x86_test-vk
|
|
|
|
|
2019-10-22 15:16:52 +00:00
|
|
|
.piglit-test:
|
2019-10-30 19:39:08 +00:00
|
|
|
extends:
|
|
|
|
- .test-gl
|
|
|
|
- .llvmpipe-rules
|
2019-11-25 17:42:10 +00:00
|
|
|
artifacts:
|
|
|
|
when: on_failure
|
2020-03-06 11:35:17 +00:00
|
|
|
name: "mesa_${CI_JOB_NAME}"
|
2019-11-25 17:42:10 +00:00
|
|
|
paths:
|
|
|
|
- summary/
|
2019-10-22 15:16:52 +00:00
|
|
|
variables:
|
|
|
|
LIBGL_ALWAYS_SOFTWARE: 1
|
|
|
|
PIGLIT_NO_WINDOW: 1
|
|
|
|
script:
|
2020-03-24 11:58:30 +00:00
|
|
|
- install/piglit/run.sh
|
2019-10-22 15:16:52 +00:00
|
|
|
|
|
|
|
piglit-quick_gl:
|
|
|
|
extends: .piglit-test
|
|
|
|
variables:
|
|
|
|
LP_NUM_THREADS: 0
|
2019-12-03 05:23:45 +00:00
|
|
|
NIR_VALIDATE: 0
|
2019-10-22 15:16:52 +00:00
|
|
|
PIGLIT_OPTIONS: >
|
2019-12-03 09:45:28 +00:00
|
|
|
--process-isolation false
|
2019-10-22 15:16:52 +00:00
|
|
|
-x arb_gpu_shader5
|
2019-12-05 00:13:38 +00:00
|
|
|
-x egl_ext_device_
|
|
|
|
-x egl_ext_platform_device
|
2020-01-21 23:23:39 +00:00
|
|
|
-x ext_timer_query@time-elapsed
|
2019-10-22 15:16:52 +00:00
|
|
|
-x glx-multithread-clearbuffer
|
|
|
|
-x glx-multithread-shader-compile
|
|
|
|
-x max-texture-size
|
|
|
|
-x maxsize
|
|
|
|
PIGLIT_PROFILES: quick_gl
|
|
|
|
|
2019-12-03 09:45:28 +00:00
|
|
|
piglit-glslparser:
|
|
|
|
extends: .piglit-test
|
|
|
|
variables:
|
|
|
|
LP_NUM_THREADS: 0
|
2019-12-03 05:23:45 +00:00
|
|
|
NIR_VALIDATE: 0
|
2019-12-03 09:45:28 +00:00
|
|
|
PIGLIT_PROFILES: glslparser
|
|
|
|
|
|
|
|
piglit-quick_shader:
|
2019-10-22 15:16:52 +00:00
|
|
|
extends: .piglit-test
|
|
|
|
variables:
|
|
|
|
LP_NUM_THREADS: 1
|
2019-12-03 05:23:45 +00:00
|
|
|
NIR_VALIDATE: 0
|
2019-12-03 09:45:28 +00:00
|
|
|
PIGLIT_PROFILES: quick_shader
|
2019-10-22 15:16:52 +00:00
|
|
|
|
2019-11-19 07:39:00 +00:00
|
|
|
.deqp-test:
|
2019-10-22 15:16:52 +00:00
|
|
|
variables:
|
|
|
|
DEQP_SKIPS: deqp-default-skips.txt
|
|
|
|
script:
|
2020-03-24 11:58:30 +00:00
|
|
|
- ./install/deqp-runner.sh
|
2019-10-22 15:16:52 +00:00
|
|
|
|
2019-11-19 07:39:00 +00:00
|
|
|
.deqp-test-gl:
|
|
|
|
extends:
|
|
|
|
- .test-gl
|
|
|
|
- .deqp-test
|
|
|
|
|
|
|
|
.deqp-test-vk:
|
|
|
|
extends:
|
|
|
|
- .test-vk
|
|
|
|
- .deqp-test
|
|
|
|
variables:
|
|
|
|
DEQP_VER: vk
|
|
|
|
|
2020-02-26 08:33:14 +00:00
|
|
|
.fossilize-test:
|
|
|
|
extends: .test-vk
|
|
|
|
script:
|
2020-03-24 11:58:30 +00:00
|
|
|
- ./install/fossilize-runner.sh
|
2020-02-26 08:33:14 +00:00
|
|
|
|
2020-03-03 17:17:12 +00:00
|
|
|
llvmpipe-gles2:
|
2019-06-28 23:35:32 +00:00
|
|
|
variables:
|
|
|
|
DEQP_VER: gles2
|
ci: Use cts_runner for our dEQP runs.
This runner is a little project by Bas, written in C++, that spawns
threads that then loop grabbing chunks of the (randomly shuffled but
consistently so) test list and hand it to a dEQP instance. As the
remaining list gets shorter, so do the chunks, so hopefully the
threads all complete effectively at once. It also handles restarting
after crashes automatically. I've extended the runner a bit to do
what I was doing in the bash scripts before, like the skip list and
expected failures handling. This project should also be a good
baseline for extending to handle retesting of intermittent failures.
By switching to it, we can have the swrast tests just take up one job
slot on the shared runners and keep their allotment of CPUs busy,
instead of taking up job slots with single-threaded dEQP jobs. It
will also let us (eventually, once I reprovision) switch the freedreno
runners over to threading within the job instead of running concurrent
jobs, so that memory scribbles in one pipeline don't affect unrelated
pipelines, and I can experiment with their parallelism (particularly
on a306 where we are frequently backed up) without trashing other
people's jobs.
What we lose in this process is per-test output in the log (not a big
loss, I think, since we summarize fails at the end and reducing log
length keeps chrome from choking on our logs so badly). We also drop
the renderer sanity checking, since it's not saving qpa files for us
to go poke through. Given that all the drivers involved have fail
lists, if we got the wrong renderer somehow, we'd get a job failure
anyway.
v2: Rebase on droppong of the autoscale cluster and the arm64
build/test split. Use a script to deduplicate the cts-runner
build.
v3: Rebase on the amd64 build/test container split.
Acked-by: Daniel Stone <daniels@collabora.com> (v1)
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> (v2)
2019-11-04 18:54:41 +00:00
|
|
|
DEQP_PARALLEL: 4
|
2019-12-03 05:23:45 +00:00
|
|
|
NIR_VALIDATE: 0
|
ci: Use cts_runner for our dEQP runs.
This runner is a little project by Bas, written in C++, that spawns
threads that then loop grabbing chunks of the (randomly shuffled but
consistently so) test list and hand it to a dEQP instance. As the
remaining list gets shorter, so do the chunks, so hopefully the
threads all complete effectively at once. It also handles restarting
after crashes automatically. I've extended the runner a bit to do
what I was doing in the bash scripts before, like the skip list and
expected failures handling. This project should also be a good
baseline for extending to handle retesting of intermittent failures.
By switching to it, we can have the swrast tests just take up one job
slot on the shared runners and keep their allotment of CPUs busy,
instead of taking up job slots with single-threaded dEQP jobs. It
will also let us (eventually, once I reprovision) switch the freedreno
runners over to threading within the job instead of running concurrent
jobs, so that memory scribbles in one pipeline don't affect unrelated
pipelines, and I can experiment with their parallelism (particularly
on a306 where we are frequently backed up) without trashing other
people's jobs.
What we lose in this process is per-test output in the log (not a big
loss, I think, since we summarize fails at the end and reducing log
length keeps chrome from choking on our logs so badly). We also drop
the renderer sanity checking, since it's not saving qpa files for us
to go poke through. Given that all the drivers involved have fail
lists, if we got the wrong renderer somehow, we'd get a job failure
anyway.
v2: Rebase on droppong of the autoscale cluster and the arm64
build/test split. Use a script to deduplicate the cts-runner
build.
v3: Rebase on the amd64 build/test container split.
Acked-by: Daniel Stone <daniels@collabora.com> (v1)
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> (v2)
2019-11-04 18:54:41 +00:00
|
|
|
# Don't use threads inside llvmpipe, we've already got all 4 cores
|
|
|
|
# busy with DEQP_PARALLEL.
|
|
|
|
LP_NUM_THREADS: 0
|
2019-06-28 23:35:32 +00:00
|
|
|
DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
|
|
|
|
LIBGL_ALWAYS_SOFTWARE: "true"
|
2020-04-17 19:39:32 +00:00
|
|
|
DEQP_EXPECTED_RENDERER: llvmpipe
|
2019-10-30 19:39:08 +00:00
|
|
|
extends:
|
|
|
|
- .deqp-test-gl
|
|
|
|
- .llvmpipe-rules
|
2019-08-09 17:32:40 +00:00
|
|
|
|
2020-03-03 17:17:12 +00:00
|
|
|
softpipe-gles2:
|
2019-10-30 19:39:08 +00:00
|
|
|
extends:
|
|
|
|
- llvmpipe-gles2
|
|
|
|
- .softpipe-rules
|
2019-08-09 17:32:40 +00:00
|
|
|
variables:
|
|
|
|
DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
|
ci: Use cts_runner for our dEQP runs.
This runner is a little project by Bas, written in C++, that spawns
threads that then loop grabbing chunks of the (randomly shuffled but
consistently so) test list and hand it to a dEQP instance. As the
remaining list gets shorter, so do the chunks, so hopefully the
threads all complete effectively at once. It also handles restarting
after crashes automatically. I've extended the runner a bit to do
what I was doing in the bash scripts before, like the skip list and
expected failures handling. This project should also be a good
baseline for extending to handle retesting of intermittent failures.
By switching to it, we can have the swrast tests just take up one job
slot on the shared runners and keep their allotment of CPUs busy,
instead of taking up job slots with single-threaded dEQP jobs. It
will also let us (eventually, once I reprovision) switch the freedreno
runners over to threading within the job instead of running concurrent
jobs, so that memory scribbles in one pipeline don't affect unrelated
pipelines, and I can experiment with their parallelism (particularly
on a306 where we are frequently backed up) without trashing other
people's jobs.
What we lose in this process is per-test output in the log (not a big
loss, I think, since we summarize fails at the end and reducing log
length keeps chrome from choking on our logs so badly). We also drop
the renderer sanity checking, since it's not saving qpa files for us
to go poke through. Given that all the drivers involved have fail
lists, if we got the wrong renderer somehow, we'd get a job failure
anyway.
v2: Rebase on droppong of the autoscale cluster and the arm64
build/test split. Use a script to deduplicate the cts-runner
build.
v3: Rebase on the amd64 build/test container split.
Acked-by: Daniel Stone <daniels@collabora.com> (v1)
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> (v2)
2019-11-04 18:54:41 +00:00
|
|
|
DEQP_SKIPS: deqp-softpipe-skips.txt
|
2019-08-09 17:32:40 +00:00
|
|
|
GALLIUM_DRIVER: "softpipe"
|
2020-04-17 19:39:32 +00:00
|
|
|
DEQP_EXPECTED_RENDERER: softpipe
|
2019-08-09 17:32:40 +00:00
|
|
|
|
2020-03-03 17:17:12 +00:00
|
|
|
softpipe-gles3:
|
2019-11-05 18:31:29 +00:00
|
|
|
parallel: 2
|
2019-08-09 17:32:40 +00:00
|
|
|
variables:
|
|
|
|
DEQP_VER: gles3
|
2020-03-03 17:17:12 +00:00
|
|
|
extends: softpipe-gles2
|
2019-11-05 18:31:29 +00:00
|
|
|
|
2020-03-03 17:17:12 +00:00
|
|
|
softpipe-gles31:
|
2019-11-05 18:31:29 +00:00
|
|
|
parallel: 4
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles31
|
2020-03-03 17:17:12 +00:00
|
|
|
extends: softpipe-gles2
|
2019-06-28 23:35:32 +00:00
|
|
|
|
2020-04-01 07:17:25 +00:00
|
|
|
virgl-gles2:
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles2
|
|
|
|
DEQP_PARALLEL: 4
|
|
|
|
NIR_VALIDATE: 0
|
|
|
|
DEQP_NO_SAVE_RESULTS: 1
|
|
|
|
# Don't use threads inside llvmpipe, we've already got all 4 cores
|
|
|
|
# busy with DEQP_PARALLEL.
|
|
|
|
LP_NUM_THREADS: 0
|
|
|
|
DEQP_EXPECTED_FAILS: deqp-virgl-fails.txt
|
|
|
|
LIBGL_ALWAYS_SOFTWARE: "true"
|
|
|
|
GALLIUM_DRIVER: "virpipe"
|
2020-04-17 19:39:32 +00:00
|
|
|
DEQP_EXPECTED_RENDERER: virgl
|
2020-04-01 07:17:25 +00:00
|
|
|
extends:
|
|
|
|
- .deqp-test-gl
|
|
|
|
- .virgl-rules
|
|
|
|
|
|
|
|
virgl-gles3:
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles3
|
|
|
|
CI_NODE_INDEX: 1
|
|
|
|
CI_NODE_TOTAL: 3
|
2020-04-17 19:28:58 +00:00
|
|
|
DEQP_RUNNER_OPTIONS: "--timeout 120"
|
2020-04-01 07:17:25 +00:00
|
|
|
extends: virgl-gles2
|
|
|
|
|
2020-04-21 12:51:59 +00:00
|
|
|
virgl-gles31:
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles31
|
|
|
|
CI_NODE_INDEX: 1
|
|
|
|
CI_NODE_TOTAL: 10
|
|
|
|
DEQP_OPTIONS: "--deqp-log-images=disable"
|
2020-04-17 19:28:58 +00:00
|
|
|
DEQP_RUNNER_OPTIONS: "--timeout 120"
|
2020-04-21 12:51:59 +00:00
|
|
|
MESA_GLES_VERSION_OVERRIDE: "3.1"
|
|
|
|
MESA_GLSL_VERSION_OVERRIDE: "310"
|
|
|
|
extends: virgl-gles2
|
|
|
|
|
2020-03-19 18:45:01 +00:00
|
|
|
# Rules for tests that should not be present in MRs or the main
|
|
|
|
# project's pipeline (don't block marge or report red on
|
|
|
|
# mesa/mesamaster) but should be present on pipelines in personal
|
|
|
|
# branches (so you can opt in to running the flaky test when you want
|
|
|
|
# to).
|
|
|
|
.test-manual:
|
|
|
|
rules:
|
2020-04-11 13:32:02 +00:00
|
|
|
- if: '$CI_PROJECT_PATH != "mesa/mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
|
|
|
|
changes:
|
|
|
|
*all_paths
|
|
|
|
when: manual
|
|
|
|
- when: never
|
2020-03-19 18:45:01 +00:00
|
|
|
|
2020-02-12 19:31:24 +00:00
|
|
|
arm64_a630_gles2:
|
2019-11-11 17:13:28 +00:00
|
|
|
extends:
|
2019-11-18 08:15:12 +00:00
|
|
|
- .deqp-test-gl
|
2019-11-11 17:13:28 +00:00
|
|
|
- .use-arm_test
|
2019-10-30 19:39:08 +00:00
|
|
|
- .freedreno-rules
|
2019-06-28 23:35:32 +00:00
|
|
|
variables:
|
|
|
|
DEQP_VER: gles2
|
|
|
|
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
|
|
|
|
DEQP_SKIPS: deqp-freedreno-a630-skips.txt
|
|
|
|
NIR_VALIDATE: 0
|
2019-11-21 13:12:58 +00:00
|
|
|
DEQP_PARALLEL: 4
|
2019-11-17 19:33:01 +00:00
|
|
|
FLAKES_CHANNEL: "#freedreno-ci"
|
2020-04-17 19:39:32 +00:00
|
|
|
DEQP_EXPECTED_RENDERER: FD630
|
2019-06-28 23:35:32 +00:00
|
|
|
tags:
|
|
|
|
- mesa-cheza
|
|
|
|
dependencies:
|
|
|
|
- meson-arm64
|
|
|
|
|
2020-02-12 19:31:24 +00:00
|
|
|
arm64_a630_gles31:
|
|
|
|
extends: arm64_a630_gles2
|
2019-06-28 23:35:32 +00:00
|
|
|
variables:
|
2019-09-11 16:55:43 +00:00
|
|
|
DEQP_VER: gles31
|
2019-06-28 23:35:32 +00:00
|
|
|
|
2020-02-12 19:31:24 +00:00
|
|
|
arm64_a630_gles3:
|
|
|
|
extends: arm64_a630_gles2
|
2019-06-28 23:35:32 +00:00
|
|
|
variables:
|
|
|
|
DEQP_VER: gles3
|
|
|
|
|
2020-04-17 19:02:37 +00:00
|
|
|
arm64_a630_gles31_options:
|
|
|
|
extends: arm64_a630_gles2
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles31
|
|
|
|
CI_NODE_INDEX: 1
|
|
|
|
CI_NODE_TOTAL: 5
|
|
|
|
script:
|
|
|
|
# We almost always manage to lower UBOs back to constant uploads in
|
|
|
|
# the test suite, so get a little testing for it here.
|
2020-05-12 23:36:08 +00:00
|
|
|
- DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_CASELIST_FILTER="functional.\*ubo" ./install/deqp-runner.sh
|
2020-04-17 19:02:37 +00:00
|
|
|
# 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
|
|
|
|
|
2020-03-03 22:38:09 +00:00
|
|
|
.baremetal-test:
|
|
|
|
extends:
|
|
|
|
- .ci-run-policy
|
|
|
|
stage: test
|
|
|
|
|
2020-03-03 19:44:45 +00:00
|
|
|
arm64_a306_gles2:
|
2020-03-03 22:38:09 +00:00
|
|
|
extends:
|
|
|
|
- .baremetal-test
|
2020-05-13 18:08:08 +00:00
|
|
|
- .use-x86_cross_arm_test
|
2020-03-18 16:51:03 +00:00
|
|
|
- .freedreno-rules
|
2020-03-03 19:44:45 +00:00
|
|
|
variables:
|
2020-03-03 22:38:09 +00:00
|
|
|
BM_KERNEL: /lava-files/Image.gz
|
2020-03-03 22:38:09 +00:00
|
|
|
BM_DTB: /lava-files/apq8016-sbc.dtb
|
|
|
|
BM_ROOTFS: /lava-files/rootfs-arm64
|
|
|
|
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
|
2020-05-01 16:57:00 +00:00
|
|
|
FLAKES_CHANNEL: "#freedreno-ci"
|
2020-03-03 19:44:45 +00:00
|
|
|
DEQP_EXPECTED_FAILS: deqp-freedreno-a307-fails.txt
|
2020-03-03 22:38:09 +00:00
|
|
|
DEQP_SKIPS: deqp-freedreno-a307-skips.txt
|
|
|
|
DEQP_VER: gles2
|
|
|
|
DEQP_PARALLEL: 4
|
2020-04-17 19:39:32 +00:00
|
|
|
DEQP_EXPECTED_RENDERER: FD307
|
2020-03-03 22:38:09 +00:00
|
|
|
script:
|
|
|
|
- .gitlab-ci/bare-metal/fastboot.sh
|
|
|
|
needs:
|
2020-05-13 18:08:08 +00:00
|
|
|
- x86_cross_arm_test
|
|
|
|
- arm_build
|
2020-03-03 22:38:09 +00:00
|
|
|
- meson-arm64
|
2020-03-03 19:44:45 +00:00
|
|
|
tags:
|
2020-03-03 22:38:09 +00:00
|
|
|
- google-freedreno-db410c
|
|
|
|
|
|
|
|
# Disabled due to flaky results
|
2020-03-19 18:45:01 +00:00
|
|
|
arm64_a306_gles3:
|
2020-03-03 22:38:09 +00:00
|
|
|
extends:
|
|
|
|
- arm64_a306_gles2
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles3
|
2020-04-22 18:30:38 +00:00
|
|
|
DEQP_PARALLEL: 1
|
|
|
|
CI_NODE_INDEX: 1
|
|
|
|
CI_NODE_TOTAL: 50
|
2020-03-03 19:44:45 +00:00
|
|
|
|
2020-03-03 22:38:09 +00:00
|
|
|
arm64_a530_gles2:
|
|
|
|
extends:
|
|
|
|
- arm64_a306_gles2
|
|
|
|
variables:
|
|
|
|
BM_KERNEL: /lava-files/db820c-kernel
|
|
|
|
BM_DTB: /lava-files/db820c.dtb
|
2020-05-19 23:33:10 +00:00
|
|
|
# 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"
|
2020-03-03 22:38:09 +00:00
|
|
|
DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
|
|
|
|
DEQP_SKIPS: deqp-freedreno-a530-skips.txt
|
2020-04-17 19:39:32 +00:00
|
|
|
DEQP_EXPECTED_RENDERER: FD530
|
2020-03-03 22:38:09 +00:00
|
|
|
tags:
|
|
|
|
- google-freedreno-db820c
|
|
|
|
|
|
|
|
arm64_a530_gles3:
|
|
|
|
extends:
|
|
|
|
- arm64_a530_gles2
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles3
|
2020-04-22 18:30:38 +00:00
|
|
|
DEQP_PARALLEL: 1
|
|
|
|
CI_NODE_INDEX: 1
|
2020-05-19 23:44:14 +00:00
|
|
|
CI_NODE_TOTAL: 40
|
2020-03-03 22:38:09 +00:00
|
|
|
|
2020-04-22 19:08:06 +00:00
|
|
|
arm64_a530_gles31:
|
|
|
|
extends:
|
|
|
|
- arm64_a530_gles3
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles31
|
2020-05-19 23:44:14 +00:00
|
|
|
CI_NODE_INDEX: 1
|
|
|
|
CI_NODE_TOTAL: 10
|
2020-04-22 19:08:06 +00:00
|
|
|
|
2019-11-13 10:03:52 +00:00
|
|
|
# RADV CI
|
|
|
|
.test-radv:
|
2020-03-09 16:53:51 +00:00
|
|
|
extends: .radv-rules
|
2020-03-06 07:39:25 +00:00
|
|
|
stage: radv
|
2019-11-13 10:03:52 +00:00
|
|
|
variables:
|
|
|
|
VK_DRIVER: radeon
|
2019-12-06 16:07:35 +00:00
|
|
|
RADV_DEBUG: checkir
|
2020-05-04 09:44:45 +00:00
|
|
|
ACO_DEBUG: validateir,validatera
|
2020-02-05 16:04:20 +00:00
|
|
|
|
2020-03-19 18:45:01 +00:00
|
|
|
# Can only be triggered manually on personal branches because RADV is the only
|
|
|
|
# driver that does Vulkan testing at the moment.
|
2019-11-13 10:03:52 +00:00
|
|
|
radv_polaris10_vkcts:
|
|
|
|
extends:
|
|
|
|
- .deqp-test-vk
|
2020-03-19 18:45:01 +00:00
|
|
|
- .test-radv
|
|
|
|
- .test-manual
|
2019-11-13 10:03:52 +00:00
|
|
|
variables:
|
|
|
|
DEQP_SKIPS: deqp-radv-polaris10-skips.txt
|
|
|
|
tags:
|
|
|
|
- polaris10
|
2020-01-08 15:46:46 +00:00
|
|
|
|
2020-03-06 07:36:14 +00:00
|
|
|
radv-fossils:
|
|
|
|
extends:
|
|
|
|
- .fossilize-test
|
|
|
|
- .test-radv
|
|
|
|
script:
|
2020-05-04 09:48:46 +00:00
|
|
|
# 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)
|
2020-03-06 07:36:14 +00:00
|
|
|
- export RADV_FORCE_FAMILY="polaris10"
|
2020-03-24 11:58:30 +00:00
|
|
|
- ./install/fossilize-runner.sh
|
2020-05-04 09:44:45 +00:00
|
|
|
- RADV_PERFTEST=aco ./install/fossilize-runner.sh
|
2020-05-04 09:48:46 +00:00
|
|
|
# Vega10 (GFX9)
|
2020-03-06 07:36:14 +00:00
|
|
|
- export RADV_FORCE_FAMILY="gfx900"
|
2020-03-24 11:58:30 +00:00
|
|
|
- ./install/fossilize-runner.sh
|
2020-05-04 09:44:45 +00:00
|
|
|
- RADV_PERFTEST=aco ./install/fossilize-runner.sh
|
2020-05-04 09:48:46 +00:00
|
|
|
# Navi10 (GFX10)
|
2020-03-06 07:36:14 +00:00
|
|
|
- export RADV_FORCE_FAMILY="gfx1010"
|
2020-03-24 11:58:30 +00:00
|
|
|
- ./install/fossilize-runner.sh
|
2020-05-04 09:44:45 +00:00
|
|
|
- RADV_PERFTEST=aco ./install/fossilize-runner.sh
|
2020-02-05 16:04:20 +00:00
|
|
|
|
2020-02-20 16:26:30 +00:00
|
|
|
# Traces CI
|
2020-01-08 15:46:46 +00:00
|
|
|
.traces-test:
|
|
|
|
cache:
|
|
|
|
key: ${CI_JOB_NAME}
|
|
|
|
paths:
|
2020-02-28 12:48:53 +00:00
|
|
|
- traces-db/
|
2020-02-20 16:26:30 +00:00
|
|
|
|
|
|
|
.traces-test-gl:
|
|
|
|
extends:
|
|
|
|
- .test-gl
|
|
|
|
- .traces-test
|
2020-01-08 15:46:46 +00:00
|
|
|
script:
|
2020-03-24 11:58:30 +00:00
|
|
|
- ./install/tracie-runner-gl.sh
|
2020-02-20 16:26:30 +00:00
|
|
|
|
|
|
|
.traces-test-vk:
|
|
|
|
extends:
|
|
|
|
- .test-vk
|
|
|
|
- .traces-test
|
|
|
|
script:
|
2020-03-24 11:58:30 +00:00
|
|
|
- ./install/tracie-runner-vk.sh
|
2020-01-08 15:46:46 +00:00
|
|
|
|
|
|
|
llvmpipe-traces:
|
2019-10-30 19:39:08 +00:00
|
|
|
extends:
|
|
|
|
- .traces-test-gl
|
|
|
|
- .llvmpipe-rules
|
2020-01-08 15:46:46 +00:00
|
|
|
variables:
|
|
|
|
LIBGL_ALWAYS_SOFTWARE: "true"
|
|
|
|
GALLIUM_DRIVER: "llvmpipe"
|
2020-02-20 15:32:08 +00:00
|
|
|
DEVICE_NAME: "gl-vmware-llvmpipe"
|
2020-02-20 16:26:30 +00:00
|
|
|
|
|
|
|
radv-polaris10-traces:
|
|
|
|
extends:
|
|
|
|
- .traces-test-vk
|
2020-03-19 18:45:01 +00:00
|
|
|
- .test-radv
|
|
|
|
- .test-manual
|
2020-02-20 16:26:30 +00:00
|
|
|
variables:
|
|
|
|
DEVICE_NAME: "vk-amd-polaris10"
|
|
|
|
tags:
|
|
|
|
- polaris10
|
2020-04-21 13:44:03 +00:00
|
|
|
|
|
|
|
virgl-traces:
|
|
|
|
extends:
|
|
|
|
- .traces-test-gl
|
|
|
|
- .virgl-rules
|
|
|
|
variables:
|
|
|
|
LIBGL_ALWAYS_SOFTWARE: "true"
|
|
|
|
GALLIUM_DRIVER: "virpipe"
|
|
|
|
DEVICE_NAME: "gl-virgl"
|
|
|
|
MESA_GLES_VERSION_OVERRIDE: "3.1"
|
|
|
|
MESA_GLSL_VERSION_OVERRIDE: "310"
|