variables:
  FDO_UPSTREAM_REPO: mesa/mesa

include:
  - project: 'freedesktop/ci-templates'
    ref: 59de540b620c45739871d1a073d76d5521989d11
    file: '/templates/debian.yml'
  - local: '.gitlab-ci/lava-gitlab-ci.yml'
  - local: '.gitlab-ci/test-source-dep.yml'

stages:
  - deploy
  - container
  - container-2
  - meson-x86_64
  - scons
  - meson-misc
  - llvmpipe
  - softpipe
  - freedreno
  - panfrost
  - radv
  - lima
  - virgl
  - success

pages:
  image: alpine
  stage: deploy
  script:
  - apk --no-cache add py3-pip
  - pip3 install sphinx sphinx_rtd_theme
  - sphinx-build -b html docs public
  artifacts:
    paths:
    - public
  only:
  - master

# When to automatically run the CI
.ci-run-policy:
  rules:
    # If any files affecting the pipeline are changed, build/test jobs run
    # automatically once all dependency jobs have passed
    - changes: &all_paths
      - VERSION
      - bin/git_sha1_gen.py
      - bin/install_megadrivers.py
      - bin/meson_get_version.py
      - bin/symbols-check.py
      # GitLab CI
      - .gitlab-ci.yml
      - .gitlab-ci/**/*
      # Meson
      - meson*
      - build-support/**/*
      - subprojects/**/*
      # SCons
      - SConstruct
      - scons/**/*
      - common.py
      # Source code
      - include/**/*
      - src/**/*
      when: on_success
    # Otherwise, build/test jobs won't run
    - when: never
  retry:
    max: 2
    when:
      - runner_system_failure
  # Cancel CI run if a newer commit is pushed to the same branch
  interruptible: true

success:
  stage: success
  image: debian:stable-slim
  only:
    - merge_requests
  except:
    changes:
      *all_paths
  variables:
    GIT_STRATEGY: none
  script:
    - echo "Dummy job to make sure every merge request pipeline runs at least one job"


.ci-deqp-artifacts:
  artifacts:
    name: "mesa_${CI_JOB_NAME}"
    when: always
    untracked: false
    paths:
      # Watch out!  Artifacts are relative to the build dir.
      # https://gitlab.com/gitlab-org/gitlab-ce/commit/8788fb925706cad594adf6917a6c5f6587dd1521
      - artifacts

# Build the CI docker images.
#
# FDO_DISTRIBUTION_TAG is the tag of the docker image used by later stage jobs. If the
# 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.

.container:
  stage: container
  extends:
    - .ci-run-policy
  rules:
    # 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'
      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
    # Allow triggering jobs manually for MRs or branches of forked projects if
    # any files affecting the pipeline were changed
    - changes:
        *all_paths
      when: manual
    # Otherwise, container jobs won't run
    - when: never
  variables:
    FDO_DISTRIBUTION_VERSION: buster-slim
    FDO_REPO_SUFFIX: "debian/$CI_JOB_NAME"
    FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
    # no need to pull the whole repo to build the container image
    GIT_STRATEGY: none

# Debian 10 based x86 build image base
x86_build-base:
  extends:
    - .fdo.container-build@debian
    - .container
  variables:
    FDO_DISTRIBUTION_TAG: &x86_build-base "2020-06-12"

.use-x86_build-base:
  extends:
    - x86_build-base
    - .ci-run-policy
  stage: container-2
  variables:
    BASE_TAG: *x86_build-base
    FDO_BASE_IMAGE: "$CI_REGISTRY_IMAGE/debian/x86_build-base:$BASE_TAG"
  needs:
    - x86_build-base

# Debian 10 based x86 main build image
x86_build:
  extends:
    - .use-x86_build-base
  variables:
    FDO_DISTRIBUTION_TAG: &x86_build "2020-06-02"

.use-x86_build:
  variables:
    TAG: *x86_build
  image: "$CI_REGISTRY_IMAGE/debian/x86_build:$TAG"
  needs:
    - x86_build-base
    - x86_build

# Debian 10 based i386 cross-build image
i386_build:
  extends:
    - .use-x86_build-base
  variables:
    FDO_DISTRIBUTION_TAG: &i386_build "2020-06-02"

.use-i386_build:
  variables:
    TAG: *i386_build
  image: "$CI_REGISTRY_IMAGE/debian/i386_build:$TAG"
  needs:
    - x86_build-base
    - i386_build

# Debian 10 based ppc64el cross-build image
ppc64el_build:
  extends:
    - .use-x86_build-base
  variables:
    FDO_DISTRIBUTION_TAG: &ppc64el_build "2020-06-02"

.use-ppc64el_build:
  variables:
    TAG: *ppc64el_build
  image: "$CI_REGISTRY_IMAGE/debian/ppc64el_build:$TAG"
  needs:
    - x86_build-base
    - ppc64el_build

# Debian 10 based s390x cross-build image
s390x_build:
  extends:
    - .use-x86_build-base
  variables:
    FDO_DISTRIBUTION_TAG: &s390x_build "2020-06-02"

.use-s390x_build:
  variables:
    TAG: *s390x_build
  image: "$CI_REGISTRY_IMAGE/debian/s390x_build:$TAG"
  needs:
    - x86_build-base
    - s390x_build

# Debian 10 based x86 test image base
x86_test-base:
  extends: x86_build-base
  variables:
    FDO_DISTRIBUTION_TAG: &x86_test-base "2020-06-02"

.use-x86_test-base:
  extends:
    - x86_build-base
    - .ci-run-policy
  stage: container-2
  variables:
    BASE_TAG: *x86_test-base
    FDO_BASE_IMAGE: "$CI_REGISTRY_IMAGE/debian/x86_test-base:$BASE_TAG"
  needs:
    - x86_test-base

# Debian 10 based x86 test image for GL
x86_test-gl:
  extends: .use-x86_test-base
  variables:
    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-06-23-virgl"

# Debian 10 based x86 test image for VK
x86_test-vk:
  extends: .use-x86_test-base
  variables:
    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-06-18-vkcts"

# Debian 9 based x86 build image (old LLVM)
x86_build_old:
  extends: x86_build-base
  variables:
    FDO_DISTRIBUTION_TAG: &x86_build_old "2020-06-12"
    FDO_DISTRIBUTION_VERSION: stretch-slim

.use-x86_build_old:
  variables:
    TAG: *x86_build_old
  image: "$CI_REGISTRY_IMAGE/debian/x86_build_old:$TAG"
  needs:
    - x86_build_old

# Debian 10 based ARM build image
arm_build:
  extends:
    - .fdo.container-build@debian@arm64v8
    - .container
  variables:
    FDO_DISTRIBUTION_TAG: &arm_build "2020-06-12"

.use-arm_build:
  variables:
    TAG: *arm_build
  image: "$CI_REGISTRY_IMAGE/debian/arm_build:$TAG"
  needs:
    - arm_build

# Debian 10 based x86 baremetal image base
arm_test-base:
  extends:
    - .fdo.container-build@debian
    - .container
  variables:
    FDO_DISTRIBUTION_TAG: &arm_test-base "2020-06-09-rsync"

.use-arm_test-base:
  extends:
    - arm_test-base
    - .ci-run-policy
  stage: container-2
  variables:
    BASE_TAG: *arm_test-base
    FDO_BASE_IMAGE: "$CI_REGISTRY_IMAGE/debian/arm_test-base:$BASE_TAG"
  needs:
    - arm_test-base

# x86 image with ARM64 rootfs for baremetal testing.
arm64_test:
  extends:
    - .use-arm_test-base
  variables:
    FDO_DISTRIBUTION_TAG: &arm64_test "2020-06-18-vkcts"

.use-arm64_test:
  variables:
    TAG: *arm64_test
  image: "$CI_REGISTRY_IMAGE/debian/arm64_test:$TAG"
  needs:
    - arm_test-base
    - arm64_test

# 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:
    WINDOWS_TAG: "2020-05-05-llvm"
    WINDOWS_IMAGE: "$CI_REGISTRY_IMAGE/windows/x64_build:$WINDOWS_TAG"
    WINDOWS_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/windows/x64_build:$WINDOWS_TAG"

windows_build_vs2019:
  extends:
    - .container
    - .windows-docker-vs2019
  stage: container
  variables:
    GIT_STRATEGY: fetch # we do actually need the full repository though
  timeout: 4h # LLVM takes ages
  tags:
    - windows
    - shell
    - "1809"
    - mesa
  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:
    - windows_build_vs2019

# BUILD

# Shared between windows and Linux
.build-common:
  extends: .ci-run-policy
  artifacts:
    name: "mesa_${CI_JOB_NAME}"
    when: always
    paths:
      - _build/meson-logs/*.txt
      # scons:
      - build/*/config.log
      - shader-db

# Just Linux
.build-linux:
  extends: .build-common
  variables:
    CCACHE_COMPILERCHECK: "content"
    CCACHE_COMPRESS: "true"
    CCACHE_DIR: /cache/mesa/ccache
  # Use ccache transparently, and print stats before/after
  before_script:
    - export PATH="/usr/lib/ccache:$PATH"
    - export CCACHE_BASEDIR="$PWD"
    - ccache --show-stats
  after_script:
    - ccache --show-stats

.build-windows:
  extends: .build-common
  tags:
    - windows
    - docker
    - "1809"
    - mesa
  cache:
    key: ${CI_JOB_NAME}
    paths:
      - subprojects/packagecache

.meson-build:
  extends:
    - .build-linux
    - .use-x86_build
  stage: meson-x86_64
  variables:
    LLVM_VERSION: 9
  script:
    - .gitlab-ci/meson-build.sh

.scons-build:
  extends:
    - .build-linux
    - .use-x86_build
  stage: scons
  variables:
    SCONSFLAGS: "-j4"
  script:
    - .gitlab-ci/scons-build.sh

meson-testing:
  extends:
    - .meson-build
    - .ci-deqp-artifacts
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=dri
      -D gbm=enabled
      -D egl=enabled
      -D platforms=x11,drm,surfaceless
    GALLIUM_ST: >
      -D dri3=enabled
    GALLIUM_DRIVERS: "swrast,virgl"
    VULKAN_DRIVERS: amd
    BUILDTYPE: "debugoptimized"
    EXTRA_OPTION: >
      -D werror=true
  script:
    - .gitlab-ci/meson-build.sh
    - .gitlab-ci/prepare-artifacts.sh

meson-gallium:
  extends: .meson-build
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=dri
      -D gbm=enabled
      -D egl=enabled
      -D platforms=x11,wayland,drm,surfaceless
    GALLIUM_ST: >
      -D dri3=enabled
      -D gallium-extra-hud=true
      -D gallium-vdpau=enabled
      -D gallium-xvmc=enabled
      -D gallium-omx=bellagio
      -D gallium-va=enabled
      -D gallium-xa=enabled
      -D gallium-nine=true
      -D gallium-opencl=disabled
    GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swr,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink"
    EXTRA_OPTION: >
      -D osmesa=gallium
      -D tools=all
  script:
    - .gitlab-ci/meson-build.sh
    - .gitlab-ci/run-shader-db.sh

meson-classic:
  extends: .meson-build
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=dri
      -D gbm=enabled
      -D egl=enabled
      -D platforms=x11,wayland,drm,surfaceless
    DRI_DRIVERS: "auto"
    EXTRA_OPTION: >
      -D osmesa=classic
      -D tools=all

.meson-cross:
  extends:
    - .meson-build
  stage: meson-misc
  variables:
    UNWIND: "disabled"
    DRI_LOADERS: >
      -D glx=disabled
      -D gbm=disabled
      -D egl=enabled
      -D platforms=surfaceless
      -D osmesa=none
    GALLIUM_ST: >
      -D dri3=disabled
      -D gallium-vdpau=disabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=disabled
      -D gallium-xa=disabled
      -D gallium-nine=false
    LLVM_VERSION: "8"

.meson-arm:
  extends:
    - .meson-cross
    - .use-arm_build
  variables:
    VULKAN_DRIVERS: freedreno
    GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
    BUILDTYPE: "debugoptimized"
  tags:
    - aarch64

meson-armhf:
  extends:
    - .meson-arm
    - .ci-deqp-artifacts
  variables:
    CROSS: armhf
    LLVM_VERSION: "7"
    EXTRA_OPTION: >
      -D llvm=disabled
  script:
    - .gitlab-ci/meson-build.sh
    - .gitlab-ci/prepare-artifacts.sh

meson-arm64:
  extends:
    - .meson-arm
    - .ci-deqp-artifacts
  variables:
    VULKAN_DRIVERS: "freedreno"
    EXTRA_OPTION: >
      -D llvm=disabled
  script:
    - .gitlab-ci/meson-build.sh
    - .gitlab-ci/prepare-artifacts.sh

meson-arm64-build-test:
  extends:
    - .meson-arm
    - .ci-deqp-artifacts
  variables:
    VULKAN_DRIVERS: "amd"
  script:
    - .gitlab-ci/meson-build.sh

meson-clang:
  extends: .meson-build
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glvnd=true
    DRI_DRIVERS: "auto"
    GALLIUM_DRIVERS: "auto"
    VULKAN_DRIVERS: intel,amd,freedreno
    CC: "ccache clang-9"
    CXX: "ccache clang++-9"

.meson-windows-vs2019:
  extends:
    - .build-windows
    - .use-windows_build_vs2019
  stage: meson-misc
  script:
    - . .\.gitlab-ci\windows\mesa_build.ps1

scons-win64:
  extends: .scons-build
  variables:
    SCONS_TARGET: platform=windows machine=x86_64 debug=1
    SCONS_CHECK_COMMAND: "true"
  allow_failure: true

meson-clover:
  extends: .meson-build
  variables:
    UNWIND: "enabled"
    DRI_LOADERS: >
      -D glx=disabled
      -D egl=disabled
      -D gbm=disabled
    GALLIUM_DRIVERS: "r600,radeonsi"
    GALLIUM_ST: >
      -D dri3=disabled
      -D gallium-vdpau=disabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=disabled
      -D gallium-xa=disabled
      -D gallium-nine=false
      -D gallium-opencl=icd
  script:
    - .gitlab-ci/meson-build.sh
    - LLVM_VERSION=8 .gitlab-ci/meson-build.sh

meson-clover-old-llvm:
  extends:
    - meson-clover
    - .use-x86_build_old
  variables:
    UNWIND: "disabled"
    DRI_LOADERS: >
      -D glx=disabled
      -D egl=disabled
      -D gbm=disabled
      -D platforms=drm,surfaceless
    GALLIUM_DRIVERS: "i915,r600"
  script:
    - 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
    - LLVM_VERSION=6.0 .gitlab-ci/meson-build.sh
    - LLVM_VERSION=7 .gitlab-ci/meson-build.sh

meson-vulkan:
  extends: .meson-build
  variables:
    UNWIND: "disabled"
    DRI_LOADERS: >
      -D glx=disabled
      -D gbm=disabled
      -D egl=disabled
      -D platforms=x11,wayland,drm
      -D osmesa=none
    GALLIUM_ST: >
      -D dri3=enabled
      -D gallium-vdpau=disabled
      -D gallium-xvmc=disabled
      -D gallium-omx=disabled
      -D gallium-va=disabled
      -D gallium-xa=disabled
      -D gallium-nine=false
      -D gallium-opencl=disabled
      -D b_sanitize=undefined
      -D c_args=-fno-sanitize-recover=all
      -D cpp_args=-fno-sanitize-recover=all
    UBSAN_OPTIONS: "print_stacktrace=1"
    VULKAN_DRIVERS: intel,amd,freedreno
    EXTRA_OPTION: >
      -D vulkan-overlay-layer=true
      -D werror=true

meson-i386:
  extends:
    - .meson-cross
    - .use-i386_build
  variables:
    CROSS: i386
    VULKAN_DRIVERS: intel,amd
    GALLIUM_DRIVERS: "iris,r300,radeonsi,swrast,virgl"
    EXTRA_OPTION: >
      -D vulkan-overlay-layer=true
      -D werror=true

meson-s390x:
  extends:
    - .meson-cross
    - .use-s390x_build
  tags:
    - kvm
  variables:
    CROSS: s390x
    EXTRA_OPTION: >
      -D werror=true
    GALLIUM_DRIVERS: "swrast"

meson-ppc64el:
  extends:
    - meson-s390x
    - .use-ppc64el_build
  variables:
    CROSS: ppc64el
    EXTRA_OPTION: ""
    GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl"
    VULKAN_DRIVERS: "amd"

meson-mingw32-x86_64:
  extends: .meson-build
  stage: meson-misc
  variables:
    UNWIND: "disabled"
    DRI_DRIVERS: ""
    GALLIUM_DRIVERS: "swrast"
    EXTRA_OPTION: >
      -Dllvm=disabled
      -Dosmesa=gallium
      --cross-file=.gitlab-ci/x86_64-w64-mingw32

.test:
  extends:
    - .ci-run-policy
  variables:
    GIT_STRATEGY: none # testing doesn't build anything from source
  before_script:
    # Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
    - rm -rf install
    - tar -xf artifacts/install.tar
    - LD_LIBRARY_PATH=install/lib find install/lib -name "*.so" -print -exec ldd {} \;
  artifacts:
    when: always
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - results/

.test-gl:
  extends:
    - .test
  variables:
    TAG: *x86_test-gl
  image: "$CI_REGISTRY_IMAGE/debian/x86_test-gl:$TAG"
  needs:
    - x86_build-base
    - x86_build
    - meson-testing
    - x86_test-base
    - x86_test-gl
  dependencies:
    - meson-testing

.test-vk:
  extends:
    - .test
  variables:
    TAG: *x86_test-vk
  image: "$CI_REGISTRY_IMAGE/debian/x86_test-vk:$TAG"
  needs:
    - x86_build-base
    - x86_build
    - meson-testing
    - x86_test-base
    - x86_test-vk
  dependencies:
    - meson-testing

.piglit-test:
  extends:
    - .test-gl
    - .llvmpipe-rules
  artifacts:
    when: on_failure
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - summary/
  variables:
    LIBGL_ALWAYS_SOFTWARE: 1
    PIGLIT_NO_WINDOW: 1
  script:
    - install/piglit/run.sh

piglit-quick_gl:
  extends: .piglit-test
  variables:
    LP_NUM_THREADS: 0
    NIR_VALIDATE: 0
    PIGLIT_OPTIONS: >
      --process-isolation false
      -x arb_gpu_shader5
      -x egl_ext_device_
      -x egl_ext_platform_device
      -x ext_timer_query@time-elapsed
      -x glx-multithread-clearbuffer
      -x glx-multithread-shader-compile
      -x max-texture-size
      -x maxsize
    PIGLIT_PROFILES: quick_gl

piglit-glslparser:
  extends: .piglit-test
  variables:
    LP_NUM_THREADS: 0
    NIR_VALIDATE: 0
    PIGLIT_PROFILES: glslparser

piglit-quick_shader:
  extends: .piglit-test
  variables:
    LP_NUM_THREADS: 1
    NIR_VALIDATE: 0
    PIGLIT_PROFILES: quick_shader

.deqp-test:
  variables:
    DEQP_SKIPS: deqp-default-skips.txt
  script:
    - ./install/deqp-runner.sh

.deqp-test-gl:
  extends:
    - .test-gl
    - .deqp-test

.deqp-test-vk:
  extends:
    - .test-vk
    - .deqp-test
  variables:
    DEQP_VER: vk

.fossilize-test:
  extends: .test-vk
  script:
    - ./install/fossilize-runner.sh

llvmpipe-gles2:
  variables:
    DEQP_VER: gles2
    DEQP_PARALLEL: 4
    NIR_VALIDATE: 0
    # 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-llvmpipe-fails.txt
    LIBGL_ALWAYS_SOFTWARE: "true"
    DEQP_EXPECTED_RENDERER: llvmpipe
  extends:
    - .deqp-test-gl
    - .llvmpipe-rules

softpipe-gles2:
  extends:
    - llvmpipe-gles2
    - .softpipe-rules
  variables:
    DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
    DEQP_SKIPS: deqp-softpipe-skips.txt
    GALLIUM_DRIVER: "softpipe"
    DEQP_EXPECTED_RENDERER: softpipe

softpipe-gles3:
  parallel: 2
  variables:
    DEQP_VER: gles3
  extends: softpipe-gles2

softpipe-gles31:
  parallel: 4
  variables:
    DEQP_VER: gles31
  extends: softpipe-gles2

virgl-gles2-on-gl:
  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-gl-fails.txt
    DEQP_OPTIONS: "--deqp-log-images=disable"
    LIBGL_ALWAYS_SOFTWARE: "true"
    GALLIUM_DRIVER: "virpipe"
    DEQP_EXPECTED_RENDERER: virgl
  extends:
    - .deqp-test-gl
    - .virgl-rules

virgl-gles3-on-gl:
  parallel: 2
  variables:
    DEQP_VER: gles3
    DEQP_RUNNER_OPTIONS: "--timeout 180"
  extends: virgl-gles2-on-gl

virgl-gles31-on-gl:
  parallel: 4
  variables:
    DEQP_VER: gles31
    MESA_GLES_VERSION_OVERRIDE: "3.1"
    MESA_GLSL_VERSION_OVERRIDE: "310"
    MESA_EXTENSION_OVERRIDE: "-GL_OES_tessellation_shader"
  extends: virgl-gles3-on-gl

virgl-gl30-on-gl:
  variables:
    DEQP_VER: gl30
  extends: virgl-gles2-on-gl

virgl-gl31-on-gl:
  variables:
    DEQP_VER: gl31
  extends: virgl-gles2-on-gl

virgl-gl32-on-gl:
  variables:
    DEQP_VER: gl32
  extends: virgl-gles2-on-gl

# 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:
    - if: '$CI_PROJECT_PATH != "mesa/mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
      changes:
        *all_paths
      when: manual
    - when: never

virgl-gles2-on-gles:
  variables:
    VIRGL_HOST_API: GLES
    DEQP_EXPECTED_FAILS: deqp-virgl-gles-fails.txt
  extends:
    - virgl-gles2-on-gl
    - .test-manual

virgl-gles3-on-gles:
  variables:
    VIRGL_HOST_API: GLES
    DEQP_EXPECTED_FAILS: deqp-virgl-gles-fails.txt
  extends:
    - virgl-gles3-on-gl
    - .test-manual

virgl-gles31-on-gles:
  variables:
    VIRGL_HOST_API: GLES
    DEQP_EXPECTED_FAILS: deqp-virgl-gles-fails.txt
  extends:
    - virgl-gles31-on-gl
    - .test-manual

arm64_a630_gles2:
  extends:
    - arm64_a306_gles2
  variables:
    BM_KERNEL: /lava-files/cheza-kernel
    BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init"
    DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
    DEQP_SKIPS: deqp-freedreno-a630-skips.txt
    GIT_STRATEGY: none
    DEQP_EXPECTED_RENDERER: FD630
    DEQP_NO_SAVE_RESULTS: ""
  tags:
    - google-freedreno-cheza
  script:
    - ./install/bare-metal/cros-servo.sh

arm64_a630_gles31:
  extends: arm64_a630_gles2
  variables:
    DEQP_VER: gles31
    # gles31 is about 12 minutes with validation enabled.
    NIR_VALIDATE: 0

arm64_a630_gles3:
  extends: arm64_a630_gles2
  variables:
    DEQP_VER: gles3
    # gles3 is about 15 minutes with validation enabled.
    NIR_VALIDATE: 0

# We almost always manage to lower UBOs back to constant uploads in
# the test suite, so get a little testing for it here.
arm64_a630_noubo:
  extends: arm64_a630_gles31
  variables:
    DEQP_VER: gles31
    IR3_SHADER_DEBUG: nouboopt
    DEQP_CASELIST_FILTER: "functional.*ubo"

# 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.
arm64_a630_bypass:
  extends: arm64_a630_gles31
  variables:
    CI_NODE_INDEX: 1
    CI_NODE_TOTAL: 5
    FD_MESA_DEBUG: nogmem
    DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt

# Along with checking gmem path, check that we don't get obvious nir
# validation failures (though it's too expensive to have it on for the
# full CTS)
arm64_a630_gmem:
  extends: arm64_a630_gles31
  variables:
    CI_NODE_INDEX: 1
    CI_NODE_TOTAL: 5
    FD_MESA_DEBUG: nobypass
    NIR_VALIDATE: 1

arm64_a630_vk:
  extends: arm64_a630_gles2
  variables:
    DEQP_VER: vk
    CI_NODE_INDEX: 1
    CI_NODE_TOTAL: 50
    VK_DRIVER: freedreno
    # Force binning in the main run, which makes sure we render at
    # least 2 bins.  This is the path that impacts the most different
    # features.  However, we end up with flaky results in
    # dEQP-VK.binding_model.*.geometry and dEQP-VK.glsl.*_vertex.
    TU_DEBUG: forcebin

# Do a separate sysmem pass over the testcases that really affect sysmem
# rendering.  This is currently very flaky, leave it as an option for devs
# to click play on in their branches.
arm64_a630_vk_sysmem:
  extends:
    - arm64_a630_vk
  variables:
    CI_NODE_INDEX: 1
    CI_NODE_TOTAL: 10
    DEQP_CASELIST_FILTER: "dEQP-VK.renderpass.*"
    DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt
    TU_DEBUG: sysmem

.baremetal-test:
  extends:
    - .ci-run-policy
    - .test
  stage: test
  artifacts:
    when: always
    name: "mesa_${CI_JOB_NAME}"
    paths:
      - results/
      - serial*.txt

arm64_a306_gles2:
  extends:
    - .baremetal-test
    - .use-arm64_test
    - .freedreno-rules
  variables:
    BM_KERNEL: /lava-files/Image.gz
    BM_DTB: /lava-files/apq8016-sbc.dtb
    BM_ROOTFS: /lava-files/rootfs-arm64
    BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
    FLAKES_CHANNEL: "#freedreno-ci"
    BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
    DEQP_EXPECTED_FAILS: deqp-freedreno-a307-fails.txt
    DEQP_SKIPS: deqp-freedreno-a307-skips.txt
    DEQP_VER: gles2
    DEQP_PARALLEL: 4
    DEQP_EXPECTED_RENDERER: FD307
    # Since we can't get artifacts back yet, skip making them.
    DEQP_NO_SAVE_RESULTS: 1
    # NIR_VALIDATE=0 left intentionally unset as a3xx is fast enough at its small testsuite.
  script:
    - ./install/bare-metal/fastboot.sh
  needs:
    - arm_test-base
    - arm64_test
    - arm_build
    - meson-arm64
  tags:
    - google-freedreno-db410c

# Fractional run, single threaded, due to flaky results
arm64_a306_gles3:
  extends:
    - arm64_a306_gles2
  variables:
    DEQP_VER: gles3
    DEQP_PARALLEL: 1
    CI_NODE_INDEX: 1
    CI_NODE_TOTAL: 25
    NIR_VALIDATE: 0

# Fractional runs with debug options.  Note that since we're not
# hitting the iommu faults, we can run in parallel (derive from gles2, not gles3).
arm64_a306_gles3_options:
  extends: arm64_a306_gles2
  variables:
    DEQP_VER: gles3
  script:
    # Check that the non-constbuf UBO case works.
    - DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_CASELIST_FILTER="functional.*ubo" ./install/bare-metal/fastboot.sh

arm64_a530_gles2:
  extends:
    - arm64_a306_gles2
  variables:
    BM_KERNEL: /lava-files/db820c-kernel
    BM_DTB: /lava-files/db820c.dtb
    # Disable SMP because only CPU 0 is at a freq higher than 19mhz on
    # current upstream kernel.
    BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 nosmp"
    DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
    DEQP_SKIPS: deqp-freedreno-a530-skips.txt
    DEQP_EXPECTED_RENDERER: FD530
    NIR_VALIDATE: 0
  tags:
    - google-freedreno-db820c

arm64_a530_gles3:
  extends:
    - arm64_a530_gles2
  variables:
    DEQP_VER: gles3
    DEQP_PARALLEL: 1
    CI_NODE_INDEX: 1
    CI_NODE_TOTAL: 40

arm64_a530_gles31:
  extends:
    - arm64_a530_gles3
  variables:
    DEQP_VER: gles31
    CI_NODE_INDEX: 1
    CI_NODE_TOTAL: 10

# RADV CI
.test-radv:
  extends: .radv-rules
  stage: radv
  variables:
    VK_DRIVER: radeon
    ACO_DEBUG: validateir,validatera
    RADV_PERFTEST: aco

# Can only be triggered manually on personal branches because RADV is the only
# driver that does Vulkan testing at the moment.
radv_polaris10_vkcts:
  extends:
    - .deqp-test-vk
    - .test-radv
    - .test-manual
  variables:
    DEQP_SKIPS: deqp-radv-polaris10-skips.txt
  tags:
    - polaris10

radv-fossils:
  extends:
    - .fossilize-test
    - .test-radv
  script:
    # Pitcairn (GFX6)
    - export RADV_FORCE_FAMILY="pitcairn"
    - ./install/fossilize-runner.sh
    # Bonaire (GFX7)
    - export RADV_FORCE_FAMILY="bonaire"
    - ./install/fossilize-runner.sh
    # Polaris10 (GFX8)
    - export RADV_FORCE_FAMILY="polaris10"
    - ./install/fossilize-runner.sh
    # Vega10 (GFX9)
    - export RADV_FORCE_FAMILY="gfx900"
    - ./install/fossilize-runner.sh
    # Navi10 (GFX10)
    - export RADV_FORCE_FAMILY="gfx1010"
    - ./install/fossilize-runner.sh

# Traces CI
.traces-test:
  cache:
    key: ${CI_JOB_NAME}
    paths:
      - traces-db/

.traces-test-gl:
  extends:
    - .test-gl
    - .traces-test
  script:
    - ./install/tracie-runner-gl.sh

.traces-test-vk:
  extends:
    - .test-vk
    - .traces-test
  script:
    - ./install/tracie-runner-vk.sh

llvmpipe-traces:
  extends:
    - .traces-test-gl
    - .llvmpipe-rules
  variables:
    LIBGL_ALWAYS_SOFTWARE: "true"
    GALLIUM_DRIVER: "llvmpipe"
    DEVICE_NAME: "gl-vmware-llvmpipe"

radv-polaris10-traces:
  extends:
    - .traces-test-vk
    - .test-radv
    - .test-manual
  variables:
    DEVICE_NAME: "vk-amd-polaris10"
  tags:
    - polaris10

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"
