ci: Move specific driver testing to separate files in separate dirs.

The top-level gitlab-ci.yml is big and unwieldy when one wants to work on
CI for a single driver.  Move the drivers to separate include files for
ease of finding all your driver's tests, and also to pave the way for work
on a single driver's CI to not retest all other drivers.

Reviewed-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9139>
This commit is contained in:
Eric Anholt 2021-02-18 11:12:56 -08:00 committed by Marge Bot
parent 8a3dbf1ca6
commit dab845d457
8 changed files with 942 additions and 942 deletions

View File

@ -18,6 +18,13 @@ include:
- '/templates/debian.yml'
- local: '.gitlab-ci/lava-gitlab-ci.yml'
- local: '.gitlab-ci/test-source-dep.yml'
- local: 'src/amd/ci/gitlab-ci.yml'
- local: 'src/broadcom/ci/gitlab-ci.yml'
- local: 'src/freedreno/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/softpipe/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/virgl/ci/gitlab-ci.yml'
- local: 'src/gallium/drivers/zink/ci/gitlab-ci.yml'
stages:
- sanity
@ -1107,164 +1114,6 @@ meson-mingw32-x86_64:
PIGLIT_HTML_SUMMARY: 0
PIGLIT_JUNIT_RESULTS: 1
.llvmpipe-test:
extends:
- .llvmpipe-rules
variables:
LIBGL_ALWAYS_SOFTWARE: "true"
GALLIUM_DRIVER: "llvmpipe"
llvmpipe-piglit-cl:
extends:
- .test-cl
- .piglit-test
- .llvmpipe-test
- .llvmpipe-cl-rules
variables:
LP_CL: 1
LP_NUM_THREADS: 1
PIGLIT_PROFILES: cl
PIGLIT_RESULTS: "llvmpipe-cl"
PIGLIT_OPTIONS: >
-x bswap -x phatk -x clz-optimizations
script:
- install/piglit/run_cl.sh
llvmpipe-piglit-quick_gl:
extends:
- .test-gl
- .piglit-test
- .llvmpipe-test
variables:
GALLIVM_PERF: "no_filter_hacks"
LP_NUM_THREADS: 0
PIGLIT_OPTIONS: >
--process-isolation false
-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_RESULTS: "llvmpipe-quick_gl"
llvmpipe-piglit-glslparser:
extends:
- .test-gl
- .piglit-test
- .llvmpipe-test
variables:
LP_NUM_THREADS: 0
PIGLIT_PROFILES: glslparser
PIGLIT_RESULTS: "llvmpipe-glslparser"
llvmpipe-piglit-quick_shader:
extends:
- .test-gl
- .piglit-test
- .llvmpipe-test
variables:
GALLIVM_PERF: "no_filter_hacks"
LP_NUM_THREADS: 1
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: "llvmpipe-quick_shader"
llvmpipe-traces:
extends:
- .test-gl
- .piglit-traces-test
- .llvmpipe-test
variables:
EGL_PLATFORM: "surfaceless"
PIGLIT_REPLAY_DESCRIPTION_FILE: "${CI_PROJECT_DIR}/install/traces-llvmpipe.yml"
PIGLIT_REPLAY_DEVICE_NAME: "gl-vmware-llvmpipe"
PIGLIT_RESULTS: "llvmpipe-replay"
.zink-test:
extends:
- .zink-rules
variables:
MESA_LOADER_DRIVER_OVERRIDE: "zink"
ZINK_USE_LAVAPIPE: "true"
zink-piglit-quick_gl:
extends:
- .test-gl
- .piglit-test
- .zink-test
variables:
LP_NUM_THREADS: 0
PIGLIT_OPTIONS: >
-x arb_map_buffer_alignment@arb_map_buffer_alignment-map-invalidate-range
-x glx-make-current
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: "zink-quick_gl"
GALLIVM_PERF: "no_filter_hacks"
.virgl-test:
extends:
- .test-gl
- .virgl-rules
variables:
LIBGL_ALWAYS_SOFTWARE: "true"
GALLIUM_DRIVER: "virpipe"
virgl-traces:
extends:
- .virgl-test
- .piglit-traces-test
variables:
EGL_PLATFORM: "surfaceless"
PIGLIT_REPLAY_DESCRIPTION_FILE: "${CI_PROJECT_DIR}/install/traces-virgl.yml"
PIGLIT_REPLAY_DEVICE_NAME: "gl-virgl"
PIGLIT_RESULTS: "virgl-replay"
MESA_GLES_VERSION_OVERRIDE: "3.1"
MESA_GLSL_VERSION_OVERRIDE: "310"
a630-traces:
extends:
- .piglit-traces-test
- .a630-test
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
BM_START_XORG: 1
PIGLIT_REPLAY_DESCRIPTION_FILE: "/install/traces-freedreno.yml"
PIGLIT_REPLAY_DEVICE_NAME: "freedreno-a630"
PIGLIT_RESULTS: "freedreno-a630-replay"
# This lets us run several more traces which don't use any features we're
# missing.
MESA_GLSL_VERSION_OVERRIDE: "460"
MESA_GL_VERSION_OVERRIDE: "4.6"
artifacts:
reports:
junit: results/junit.xml
radv-polaris10-traces:
extends:
- .test-radv
- .piglit-traces-test
- .test-manual
variables:
PIGLIT_REPLAY_DESCRIPTION_FILE: "${CI_PROJECT_DIR}/install/traces-radv.yml"
PIGLIT_REPLAY_DEVICE_NAME: "vk-amd-polaris10"
PIGLIT_RESULTS: "radv-polaris10-replay"
tags:
- polaris10
radv-raven-traces:
extends:
- .test-radv
- .piglit-traces-test
- .test-manual
variables:
PIGLIT_REPLAY_DESCRIPTION_FILE: "${CI_PROJECT_DIR}/install/traces-radv.yml"
PIGLIT_REPLAY_DEVICE_NAME: "vk-amd-raven"
PIGLIT_RESULTS: "radv-raven-replay"
tags:
- raven
.deqp-test:
script:
- ./install/deqp-runner.sh
@ -1287,143 +1136,6 @@ radv-raven-traces:
paths:
- results/
llvmpipe-gles2:
variables:
DEQP_VER: gles2
GALLIVM_PERF: "nopt,no_filter_hacks"
# Don't use threads inside llvmpipe, we've already got all cores
# busy at the deqp-runner level.
LP_NUM_THREADS: 0
GPU_VERSION: llvmpipe
DEQP_EXPECTED_RENDERER: llvmpipe
extends:
- .test-gl
- .deqp-test
- .llvmpipe-test
softpipe-gles2:
extends:
- llvmpipe-gles2
- .softpipe-rules
variables:
GPU_VERSION: softpipe
GALLIUM_DRIVER: "softpipe"
DEQP_EXPECTED_RENDERER: softpipe
softpipe-gles3:
variables:
DEQP_VER: gles3
extends: softpipe-gles2
softpipe-gles31:
parallel: 2
variables:
DEQP_VER: gles31
extends: softpipe-gles2
softpipe-asan-gles31:
variables:
GPU_VERSION: softpipe-asan
DEQP_FRACTION: 10
DEQP_VER: gles31
TEST_LD_PRELOAD: libasan.so.5
extends: softpipe-gles2
needs:
- x86_test-gl
- meson-testing-asan
softpipe-piglit-quick:
extends:
- .test-gl
- .piglit-test
- .softpipe-rules
variables:
GALLIUM_DRIVER: softpipe
# rasterpos skipped until we uprev piglit (commit ff2a7650be7349)
# triangle-rasterization skipped due to flakes thanks to it using a time-based random seed.
# glx-multithread-texture is flaky, undiagnosed
PIGLIT_OPTIONS: >
-x rasterpos
-x triangle-rasterization
-x glx-multithread-texture
-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
-x fs-execution-ordering
-x local-id-explosion
-x arb_pipeline_statistics_query-comp
-x streaming-texture-leak
-x longprim
-x shader-mem-barrier
-x arb_gpu_shader_fp64
-x arb_gpu_shader_int64
-x arb_tessellation_shader
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x gpu_shader4
-x gpu_shader5
PIGLIT_PROFILES: quick_gl quick_shader
PIGLIT_RESULTS: softpipe-quick
# Note that KHR-GL3* test sets include all tests from the previous
# version, so we only need to run one test list (unlike dEQP-GLES,
# where the test sets are separate).
softpipe-gl:
variables:
DEQP_VER: gl33
extends:
- softpipe-gles2
virgl-gles2-on-gl:
variables:
DEQP_VER: gles2
DEQP_NO_SAVE_RESULTS: 1
GPU_VERSION: virgl-gl
# Don't use threads inside llvmpipe, we've already got all cores
# busy at the deqp-runner level.
LP_NUM_THREADS: 0
DEQP_OPTIONS: "--deqp-log-images=disable"
DEQP_EXPECTED_RENDERER: virgl
extends:
- .deqp-test
- .virgl-test
virgl-gles3-on-gl:
variables:
DEQP_VER: gles3
DEQP_RUNNER_OPTIONS: "--timeout 180"
extends: virgl-gles2-on-gl
virgl-gles31-on-gl:
parallel: 2
variables:
DEQP_VER: gles31
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
@ -1440,206 +1152,6 @@ virgl-gl32-on-gl:
variables:
GIT_STRATEGY: none
virgl-gles2-on-gles:
variables:
VIRGL_HOST_API: GLES
GPU_VERSION: virgl-gles
extends:
- virgl-gles2-on-gl
- .test-manual
virgl-gles3-on-gles:
variables:
VIRGL_HOST_API: GLES
GPU_VERSION: virgl-gles
extends:
- virgl-gles3-on-gl
- .test-manual
virgl-gles31-on-gles:
variables:
VIRGL_HOST_API: GLES
GPU_VERSION: virgl-gles
extends:
- virgl-gles31-on-gl
- .test-manual
.a630-test:
extends:
- .freedreno-test
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"
GPU_VERSION: freedreno-a630
BM_DTB: /lava-files/db820c.dtb
DEQP_EXPECTED_RENDERER: FD630
tags:
- google-freedreno-cheza
script:
- ./install/bare-metal/cros-servo.sh
a630_gles2:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
DEQP_VER: gles2
a630_gles31:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
DEQP_VER: gles31
a630_gles3:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
DEQP_VER: gles3
a630_gl:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
DEQP_VER: gl33
a630_gles_others:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
BARE_METAL_TEST_SCRIPT: "/install/bare-metal/arm64_a630_gles_others.sh"
a630_gles_asan:
extends:
- .baremetal-deqp-test
- .a630-test
- .baremetal-arm64-asan-test
variables:
DEQP_VER: gles31
DEQP_FRACTION: 10
GPU_VERSION: freedreno-a630-asan
a630_vk:
extends:
- .baremetal-deqp-test-freedreno-vk
- .a630-test
parallel: 2
variables:
DEQP_FRACTION: 4
# 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
# Disabled by default until we can sort out what looks like timeouts before
# getting to the first test (or is it at cleanup after tests completed?).
# Clicking play can show you some useful areas for fixing turnip, though.
a630_vk_asan:
extends:
- .baremetal-deqp-test-freedreno-vk
- .a630-test
- .baremetal-arm64-asan-test
- .test-manual
variables:
DEQP_FRACTION: 100
DEQP_PARALLEL: 4 # We get OOMkills if we go too wide with asan enabled
TU_DEBUG: forcebin
# Disable the leak checks, since the library gets dlclose()d and thus get
# totally useless leak reports. We can still catch buffer overflows.
ASAN_OPTIONS: "detect_leaks=0"
# 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.
a630_vk_sysmem:
extends:
- .baremetal-deqp-test-freedreno-vk
- .a630-test
variables:
DEQP_FRACTION: 15
DEQP_CASELIST_FILTER: "dEQP-VK.renderpass.*"
GPU_VERSION: freedreno-a630-bypass
TU_DEBUG: sysmem
.a630_piglit:
extends:
- .piglit-test
- .a630-test
- .test-manual
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
BM_START_XORG: 1
# Excluding various features we don't support to keep runtime down in
# deciding that they aren't supported.
#
# Also excluding some particularly slow tests (gl-1.3-texture-env takes 100s)
#
# Known flakes in the list are between "arb_blend_func_extended" and
# "varray-disabled"
#
# vs-output-array-vec2-index-wr-before-gs is skipped because it causes
# a flood of GPU hangs and makes the rest of the job flakey
#
# vs-clip-distance/vertex-enables skipped because they seem to be flaky in
# parallel with other tests (reliably fails on its own)
PIGLIT_OPTIONS: >-
-x vs-output-array-vec2-index-wr-before-gs
-x fixed-clip-enables
-x vs-clip-distance-enables
-x vs-clip-vertex-enables
-x arb_blend_func_extended-fbo-extended-blend-pattern_gles2
-x clear-accum
-x copypixels-sync
-x copyteximage-border
-x copytexsubimage
-x draw-sync
-x getteximage-simple
-x gl30basic
-x tcs-input
-x tes-input
-x unaligned-blit
-x user-clip
-x varray-disabled
-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
-x arb_gpu_shader_fp64
-x arb_gpu_shader_gpu5
-x arb_gpu_shader_int64
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x glsl-4.60
-x gl-1.3-texture-env
# Takes ~20 minutes, so manual-only until we can sort out runtime.
a630_piglit_gl:
extends:
- .a630_piglit
- .test-manual
variables:
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: freedreno-a630-gl
a630_piglit_shader:
extends:
- .a630_piglit
variables:
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: freedreno-a630-shader
.baremetal-test:
extends:
- .ci-run-policy
@ -1679,455 +1191,8 @@ a630_piglit_shader:
- job: meson-arm64-asan
artifacts: false
.freedreno-test:
extends:
- .baremetal-test
- .use-arm64_test
- .freedreno-rules
variables:
MINIO_ARTIFACT_NAME: mesa-arm64
BM_ROOTFS: /lava-files/rootfs-arm64
FLAKES_CHANNEL: "#freedreno-ci"
PIGLIT_PLATFORM: mixed_glx_egl
script:
- ./install/bare-metal/fastboot.sh
needs:
- arm64_test
- job: meson-arm64
artifacts: false
tags:
- google-freedreno-db410c
.baremetal-deqp-test:
variables:
BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
DEQP_SKIPS: deqp-default-skips.txt
DEQP_PARALLEL: 0 # Default to number of CPUs
.baremetal-deqp-test-freedreno-vk:
extends:
- .baremetal-deqp-test
variables:
DEQP_VER: vk
VK_DRIVER: freedreno
.arm64-a306-test:
extends:
- .freedreno-test
variables:
BM_KERNEL: /lava-files/Image.gz
BM_DTB: /lava-files/apq8016-sbc.dtb
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
GPU_VERSION: freedreno-a307
DEQP_EXPECTED_RENDERER: FD307
a306_gles2:
extends:
- .baremetal-deqp-test
- .arm64-a306-test
variables:
DEQP_VER: gles2
a306_gles3:
extends:
- .baremetal-deqp-test
- .arm64-a306-test
parallel: 3
variables:
DEQP_VER: gles3
DEQP_FRACTION: 2
# 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).
a306_gles3_options:
extends:
- .baremetal-deqp-test
- .arm64-a306-test
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-test:
extends:
- .freedreno-test
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"
FDO_CI_CONCURRENT: 1
GPU_VERSION: freedreno-a530
DEQP_EXPECTED_RENDERER: FD530
tags:
- google-freedreno-db820c
a530_gles2:
extends:
- .baremetal-deqp-test
- .arm64-a530-test
variables:
DEQP_VER: gles2
parallel: 2
a530_gles3:
extends:
- .baremetal-deqp-test
- .arm64-a530-test
variables:
DEQP_VER: gles3
DEQP_FRACTION: 40
a530_gles31:
extends:
- a530_gles3
variables:
DEQP_VER: gles31
DEQP_FRACTION: 10
.a530_piglit:
extends:
- .piglit-test
- .arm64-a530-test
- .test-manual
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
BM_START_XORG: 1
# SMP is disabled in the current kernels for db820c.
FDO_CI_CONCURRENT: 1
# Excluding for flakes in multisample (MSAA fails covered well by deqp, we
# can enable it once we stabilize that.) and other flakes from
# atomic_counters through userclip in the list.
#
# Also excluding some particularly slow tests (gl-1.3-texture-env)
#
# Check fastboot.sh for more piglit tests being excluded!
PIGLIT_OPTIONS: >-
-x atomic_counters
-x gl-1.0-blend-func
-x glsl-1.30@execution@clipping
-x user-clip
-x arb_texture_multisample
-x ext_framebuffer_multisample
-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
-x arb_gpu_shader5
-x arb_gpu_shader_fp64
-x arb_gpu_shader_int64
-x arb_tessellation_shader
-x glsl-1.50
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x glsl-4.60
-x gl-1.3-texture-env
# Takes ~25 minutes, so manual-only until we can sort out runtime.
a530_piglit_gl:
extends:
- .a530_piglit
variables:
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: freedreno-a530-gl
a530_piglit_shader:
extends:
- .a530_piglit
variables:
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: freedreno-a530-shader
.vc4-rpi3-test:armhf:
extends:
- .baremetal-test-armhf
- .vc4-rules
- .use-armhf_test
variables:
BM_BOOTFS: /boot/armhf
BM_KERNEL_MODULES: vc4
BM_ROOTFS: /lava-files/rootfs-armhf
BM_ROOTFS_EXTRA: /modules/armhf
GPU_VERSION: vc4-rpi3
DEQP_EXPECTED_RENDERER: VC4
script:
- ./install/bare-metal/poe-powered.sh
needs:
- job: armhf_test
artifacts: false
- meson-armhf
tags:
- igalia-rpi3
vc4-rpi3-gles2:armhf:
extends:
- .vc4-rpi3-test:armhf
parallel: 4
variables:
BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
DEQP_VER: gles2
# The vc4s are so slow that it takes about a minute to get through the
# default 500 tests in a group, triggering the serial watchdog.
DEQP_RUNNER_OPTIONS: "--tests-per-group 250"
.vc4-rpi3-piglit:armhf:
extends:
- .piglit-test
- .vc4-rpi3-test:armhf
- .test-manual
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
BM_POE_TIMEOUT: 180
PIGLIT_OPTIONS: >-
--timeout 60
-x .tesc
-x .tese
-x arb_gpu_shader_fp64
-x arb_gpu_shader_gpu5
-x arb_gpu_shader_int64
-x arb_tessellation_shader
-x arb_texture_cube_map
-x clipflat
-x copypixels-sync
-x copyteximage
-x depthstencil-default_fb
-x draw-sync
-x egl_ext_device_
-x egl_ext_platform_device
-x ext_framebuffer_multisample
-x ext_timer_query@time-elapsed
-x gl-1.0-blend-func
-x gl-1.3-texture-env
-x glsl-1.30
-x glsl-3.30
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x glsl-4.60
-x glsl-es-3.00
-x glsl-es-3.20
-x glsl-fs-convolution-2
-x glsl-vs-loop
-x glsl-vs-loop-nested
-x glsl-vs-mov-after-deref
-x glx-multithread-clearbuffer
-x glx-multithread-shader-compile
-x image_load_store
-x longprim
-x masked-clear
-x max-texture-size
-x maxsize
-x ppgtt_memory_alignment
-x streaming-texture-leak
-x texturesize
PIGLIT_PLATFORM: gbm
vc4-rpi3-piglit-quick_gl:armhf:
extends:
- .vc4-rpi3-piglit:armhf
variables:
FDO_CI_CONCURRENT: 1
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: "vc4-rpi3-quick_gl"
vc4-rpi3-piglit-quick_shader:armhf:
extends:
- .vc4-rpi3-piglit:armhf
variables:
FDO_CI_CONCURRENT: 2
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: "vc4-rpi3-quick_shader"
.v3d-rpi4-test:armhf:
extends:
- .baremetal-test-armhf
- .v3d-rules
- .use-armhf_test
variables:
BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
BM_BOOTFS: /boot/armhf
BM_KERNEL_MODULES: v3d,vc4
BM_POE_TIMEOUT: 300
BM_ROOTFS: /lava-files/rootfs-armhf
BM_ROOTFS_EXTRA: /modules/armhf
DEQP_EXPECTED_RENDERER: V3D
GPU_VERSION: v3d-rpi4
script:
- ./install/bare-metal/poe-powered.sh
needs:
- armhf_test
- meson-armhf
tags:
- igalia-rpi4
v3d-rpi4-gles31:armhf:
extends:
- .v3d-rpi4-test:armhf
parallel: 2
variables:
DEQP_FRACTION: 2
DEQP_VER: gles31
v3d-rpi4-gles3:armhf:
extends:
- .v3d-rpi4-test:armhf
parallel: 4
variables:
DEQP_FRACTION: 2
DEQP_VER: gles3
v3d-rpi4-gles2:armhf:
extends:
- .v3d-rpi4-test:armhf
variables:
DEQP_VER: gles2
.v3d-rpi4-piglit:armhf:
extends:
- .piglit-test
- .v3d-rpi4-test:armhf
- .test-manual
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
PIGLIT_OPTIONS: >-
--timeout 60
-x .tesc
-x .tese
-x arb_gpu_shader_fp64
-x arb_gpu_shader_gpu5
-x arb_gpu_shader_int64
-x arb_tessellation_shader
-x depthstencil-default_fb
-x egl_ext_platform_device
-x ext_timer_query@time-elapsed
-x gl-1.3-texture-env
-x glsl-1.30
-x glsl-3.30
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x glsl-4.60
-x glsl-es-3.00
-x glsl-es-3.20
-x glx-multithread-clearbuffer
-x glx-multithread-shader-compile
-x image_load_store
-x max-texture-size
-x maxsize
-x streaming-texture-leak
-x tex-miplevel-selection
PIGLIT_PLATFORM: gbm
v3d-rpi4-piglit-quick_gl:armhf:
extends:
- .v3d-rpi4-piglit:armhf
variables:
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: "v3d-rpi4-quick_gl"
v3d-rpi4-piglit-quick_shader:armhf:
extends:
- .v3d-rpi4-piglit:armhf
variables:
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: "v3d-rpi4-shader_gl"
v3dv-rpi4-vk:armhf:
extends:
- .baremetal-test-armhf
- .use-armhf_test
- .v3dv-rules
parallel: 6
variables:
BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
BM_BOOTFS: /boot/armhf
BM_KERNEL_MODULES: v3d,vc4
BM_POE_TIMEOUT: 300
BM_ROOTFS: /lava-files/rootfs-armhf
BM_ROOTFS_EXTRA: /modules/armhf
CPU: arm7hlf
DEQP_EXPECTED_RENDERER: "V3D 4.2"
DEQP_FRACTION: 7
DEQP_VER: vk
GPU_VERSION: v3dv-rpi4
VK_CPU: arm7hlf
VK_DRIVER: broadcom
script:
- ./install/bare-metal/poe-powered.sh
needs:
- armhf_test
- meson-armhf
tags:
- igalia-rpi4
lavapipe-vk:
stage: software-renderer
extends:
- .test-vk
- .llvmpipe-rules
- .deqp-test-vk
variables:
GPU_VERSION: lvp
VK_DRIVER: lvp
DEQP_FRACTION: 10
# RADV CI
.test-radv:
extends:
- .test-vk
- .radv-rules
stage: amd
variables:
VK_DRIVER: radeon
ACO_DEBUG: validateir,validatera
# 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:
GPU_VERSION: radv-polaris10
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
# Sienna Cichlid (GFX10)
- export RADV_FORCE_FAMILY="gfx1030"
- ./install/fossilize-runner.sh

68
src/amd/ci/gitlab-ci.yml Normal file
View File

@ -0,0 +1,68 @@
.test-radv:
extends:
- .test-vk
- .radv-rules
stage: amd
variables:
VK_DRIVER: radeon
ACO_DEBUG: validateir,validatera
radv-polaris10-traces:
extends:
- .test-radv
- .piglit-traces-test
- .test-manual
variables:
PIGLIT_REPLAY_DESCRIPTION_FILE: "${CI_PROJECT_DIR}/install/traces-radv.yml"
PIGLIT_REPLAY_DEVICE_NAME: "vk-amd-polaris10"
PIGLIT_RESULTS: "radv-polaris10-replay"
tags:
- polaris10
radv-raven-traces:
extends:
- .test-radv
- .piglit-traces-test
- .test-manual
variables:
PIGLIT_REPLAY_DESCRIPTION_FILE: "${CI_PROJECT_DIR}/install/traces-radv.yml"
PIGLIT_REPLAY_DEVICE_NAME: "vk-amd-raven"
PIGLIT_RESULTS: "radv-raven-replay"
tags:
- raven
# 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:
GPU_VERSION: radv-polaris10
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
# Sienna Cichlid (GFX10)
- export RADV_FORCE_FAMILY="gfx1030"
- ./install/fossilize-runner.sh

View File

@ -0,0 +1,227 @@
.vc4-rpi3-test:armhf:
extends:
- .baremetal-test-armhf
- .vc4-rules
- .use-armhf_test
variables:
BM_BOOTFS: /boot/armhf
BM_KERNEL_MODULES: vc4
BM_ROOTFS: /lava-files/rootfs-armhf
BM_ROOTFS_EXTRA: /modules/armhf
GPU_VERSION: vc4-rpi3
DEQP_EXPECTED_RENDERER: VC4
script:
- ./install/bare-metal/poe-powered.sh
needs:
- job: armhf_test
artifacts: false
- meson-armhf
tags:
- igalia-rpi3
vc4-rpi3-gles2:armhf:
extends:
- .vc4-rpi3-test:armhf
parallel: 4
variables:
BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
DEQP_VER: gles2
# The vc4s are so slow that it takes about a minute to get through the
# default 500 tests in a group, triggering the serial watchdog.
DEQP_RUNNER_OPTIONS: "--tests-per-group 250"
.vc4-rpi3-piglit:armhf:
extends:
- .piglit-test
- .vc4-rpi3-test:armhf
- .test-manual
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
BM_POE_TIMEOUT: 180
PIGLIT_OPTIONS: >-
--timeout 60
-x .tesc
-x .tese
-x arb_gpu_shader_fp64
-x arb_gpu_shader_gpu5
-x arb_gpu_shader_int64
-x arb_tessellation_shader
-x arb_texture_cube_map
-x clipflat
-x copypixels-sync
-x copyteximage
-x depthstencil-default_fb
-x draw-sync
-x egl_ext_device_
-x egl_ext_platform_device
-x ext_framebuffer_multisample
-x ext_timer_query@time-elapsed
-x gl-1.0-blend-func
-x gl-1.3-texture-env
-x glsl-1.30
-x glsl-3.30
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x glsl-4.60
-x glsl-es-3.00
-x glsl-es-3.20
-x glsl-fs-convolution-2
-x glsl-vs-loop
-x glsl-vs-loop-nested
-x glsl-vs-mov-after-deref
-x glx-multithread-clearbuffer
-x glx-multithread-shader-compile
-x image_load_store
-x longprim
-x masked-clear
-x max-texture-size
-x maxsize
-x ppgtt_memory_alignment
-x streaming-texture-leak
-x texturesize
PIGLIT_PLATFORM: gbm
vc4-rpi3-piglit-quick_gl:armhf:
extends:
- .vc4-rpi3-piglit:armhf
variables:
FDO_CI_CONCURRENT: 1
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: "vc4-rpi3-quick_gl"
vc4-rpi3-piglit-quick_shader:armhf:
extends:
- .vc4-rpi3-piglit:armhf
variables:
FDO_CI_CONCURRENT: 2
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: "vc4-rpi3-quick_shader"
.v3d-rpi4-test:armhf:
extends:
- .baremetal-test-armhf
- .v3d-rules
- .use-armhf_test
variables:
BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
BM_BOOTFS: /boot/armhf
BM_KERNEL_MODULES: v3d,vc4
BM_POE_TIMEOUT: 300
BM_ROOTFS: /lava-files/rootfs-armhf
BM_ROOTFS_EXTRA: /modules/armhf
DEQP_EXPECTED_RENDERER: V3D
GPU_VERSION: v3d-rpi4
script:
- ./install/bare-metal/poe-powered.sh
needs:
- armhf_test
- meson-armhf
tags:
- igalia-rpi4
v3d-rpi4-gles31:armhf:
extends:
- .v3d-rpi4-test:armhf
parallel: 2
variables:
DEQP_FRACTION: 2
DEQP_VER: gles31
v3d-rpi4-gles3:armhf:
extends:
- .v3d-rpi4-test:armhf
parallel: 4
variables:
DEQP_FRACTION: 2
DEQP_VER: gles3
v3d-rpi4-gles2:armhf:
extends:
- .v3d-rpi4-test:armhf
variables:
DEQP_VER: gles2
.v3d-rpi4-piglit:armhf:
extends:
- .piglit-test
- .v3d-rpi4-test:armhf
- .test-manual
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
PIGLIT_OPTIONS: >-
--timeout 60
-x .tesc
-x .tese
-x arb_gpu_shader_fp64
-x arb_gpu_shader_gpu5
-x arb_gpu_shader_int64
-x arb_tessellation_shader
-x depthstencil-default_fb
-x egl_ext_platform_device
-x ext_timer_query@time-elapsed
-x gl-1.3-texture-env
-x glsl-1.30
-x glsl-3.30
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x glsl-4.60
-x glsl-es-3.00
-x glsl-es-3.20
-x glx-multithread-clearbuffer
-x glx-multithread-shader-compile
-x image_load_store
-x max-texture-size
-x maxsize
-x streaming-texture-leak
-x tex-miplevel-selection
PIGLIT_PLATFORM: gbm
v3d-rpi4-piglit-quick_gl:armhf:
extends:
- .v3d-rpi4-piglit:armhf
variables:
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: "v3d-rpi4-quick_gl"
v3d-rpi4-piglit-quick_shader:armhf:
extends:
- .v3d-rpi4-piglit:armhf
variables:
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: "v3d-rpi4-shader_gl"
v3dv-rpi4-vk:armhf:
extends:
- .baremetal-test-armhf
- .use-armhf_test
- .v3dv-rules
parallel: 6
variables:
BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
BM_BOOTFS: /boot/armhf
BM_KERNEL_MODULES: v3d,vc4
BM_POE_TIMEOUT: 300
BM_ROOTFS: /lava-files/rootfs-armhf
BM_ROOTFS_EXTRA: /modules/armhf
CPU: arm7hlf
DEQP_EXPECTED_RENDERER: "V3D 4.2"
DEQP_FRACTION: 7
DEQP_VER: vk
GPU_VERSION: v3dv-rpi4
VK_CPU: arm7hlf
VK_DRIVER: broadcom
script:
- ./install/bare-metal/poe-powered.sh
needs:
- armhf_test
- meson-armhf
tags:
- igalia-rpi4

View File

@ -0,0 +1,355 @@
.freedreno-test:
extends:
- .baremetal-test
- .use-arm64_test
- .freedreno-rules
variables:
MINIO_ARTIFACT_NAME: mesa-arm64
BM_ROOTFS: /lava-files/rootfs-arm64
FLAKES_CHANNEL: "#freedreno-ci"
PIGLIT_PLATFORM: mixed_glx_egl
script:
- ./install/bare-metal/fastboot.sh
needs:
- arm64_test
- job: meson-arm64
artifacts: false
tags:
- google-freedreno-db410c
.baremetal-deqp-test-freedreno-vk:
extends:
- .baremetal-deqp-test
variables:
DEQP_VER: vk
VK_DRIVER: freedreno
.arm64-a306-test:
extends:
- .freedreno-test
variables:
BM_KERNEL: /lava-files/Image.gz
BM_DTB: /lava-files/apq8016-sbc.dtb
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
GPU_VERSION: freedreno-a307
DEQP_EXPECTED_RENDERER: FD307
a306_gles2:
extends:
- .baremetal-deqp-test
- .arm64-a306-test
variables:
DEQP_VER: gles2
a306_gles3:
extends:
- .baremetal-deqp-test
- .arm64-a306-test
parallel: 3
variables:
DEQP_VER: gles3
DEQP_FRACTION: 2
# 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).
a306_gles3_options:
extends:
- .baremetal-deqp-test
- .arm64-a306-test
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-test:
extends:
- .freedreno-test
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"
FDO_CI_CONCURRENT: 1
GPU_VERSION: freedreno-a530
DEQP_EXPECTED_RENDERER: FD530
tags:
- google-freedreno-db820c
a530_gles2:
extends:
- .baremetal-deqp-test
- .arm64-a530-test
variables:
DEQP_VER: gles2
parallel: 2
a530_gles3:
extends:
- .baremetal-deqp-test
- .arm64-a530-test
variables:
DEQP_VER: gles3
DEQP_FRACTION: 40
a530_gles31:
extends:
- a530_gles3
variables:
DEQP_VER: gles31
DEQP_FRACTION: 10
.a530_piglit:
extends:
- .piglit-test
- .arm64-a530-test
- .test-manual
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
BM_START_XORG: 1
# SMP is disabled in the current kernels for db820c.
FDO_CI_CONCURRENT: 1
# Excluding for flakes in multisample (MSAA fails covered well by deqp, we
# can enable it once we stabilize that.) and other flakes from
# atomic_counters through userclip in the list.
#
# Also excluding some particularly slow tests (gl-1.3-texture-env)
#
# Check fastboot.sh for more piglit tests being excluded!
PIGLIT_OPTIONS: >-
-x atomic_counters
-x gl-1.0-blend-func
-x glsl-1.30@execution@clipping
-x user-clip
-x arb_texture_multisample
-x ext_framebuffer_multisample
-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
-x arb_gpu_shader5
-x arb_gpu_shader_fp64
-x arb_gpu_shader_int64
-x arb_tessellation_shader
-x glsl-1.50
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x glsl-4.60
-x gl-1.3-texture-env
# Takes ~25 minutes, so manual-only until we can sort out runtime.
a530_piglit_gl:
extends:
- .a530_piglit
variables:
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: freedreno-a530-gl
a530_piglit_shader:
extends:
- .a530_piglit
variables:
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: freedreno-a530-shader
.a630-test:
extends:
- .freedreno-test
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"
GPU_VERSION: freedreno-a630
BM_DTB: /lava-files/db820c.dtb
DEQP_EXPECTED_RENDERER: FD630
tags:
- google-freedreno-cheza
script:
- ./install/bare-metal/cros-servo.sh
a630_gles2:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
DEQP_VER: gles2
a630_gles31:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
DEQP_VER: gles31
a630_gles3:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
DEQP_VER: gles3
a630_gl:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
DEQP_VER: gl33
a630_gles_others:
extends:
- .baremetal-deqp-test
- .a630-test
variables:
BARE_METAL_TEST_SCRIPT: "/install/bare-metal/arm64_a630_gles_others.sh"
a630_gles_asan:
extends:
- .baremetal-deqp-test
- .a630-test
- .baremetal-arm64-asan-test
variables:
DEQP_VER: gles31
DEQP_FRACTION: 10
GPU_VERSION: freedreno-a630-asan
a630_vk:
extends:
- .baremetal-deqp-test-freedreno-vk
- .a630-test
parallel: 2
variables:
DEQP_FRACTION: 4
# 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
# Disabled by default until we can sort out what looks like timeouts before
# getting to the first test (or is it at cleanup after tests completed?).
# Clicking play can show you some useful areas for fixing turnip, though.
a630_vk_asan:
extends:
- .baremetal-deqp-test-freedreno-vk
- .a630-test
- .baremetal-arm64-asan-test
- .test-manual
variables:
DEQP_FRACTION: 100
DEQP_PARALLEL: 4 # We get OOMkills if we go too wide with asan enabled
TU_DEBUG: forcebin
# Disable the leak checks, since the library gets dlclose()d and thus get
# totally useless leak reports. We can still catch buffer overflows.
ASAN_OPTIONS: "detect_leaks=0"
# 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.
a630_vk_sysmem:
extends:
- .baremetal-deqp-test-freedreno-vk
- .a630-test
variables:
DEQP_FRACTION: 15
DEQP_CASELIST_FILTER: "dEQP-VK.renderpass.*"
GPU_VERSION: freedreno-a630-bypass
TU_DEBUG: sysmem
.a630_piglit:
extends:
- .piglit-test
- .a630-test
- .test-manual
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
BM_START_XORG: 1
# Excluding various features we don't support to keep runtime down in
# deciding that they aren't supported.
#
# Also excluding some particularly slow tests (gl-1.3-texture-env takes 100s)
#
# Known flakes in the list are between "arb_blend_func_extended" and
# "varray-disabled"
#
# vs-output-array-vec2-index-wr-before-gs is skipped because it causes
# a flood of GPU hangs and makes the rest of the job flakey
#
# vs-clip-distance/vertex-enables skipped because they seem to be flaky in
# parallel with other tests (reliably fails on its own)
PIGLIT_OPTIONS: >-
-x vs-output-array-vec2-index-wr-before-gs
-x fixed-clip-enables
-x vs-clip-distance-enables
-x vs-clip-vertex-enables
-x arb_blend_func_extended-fbo-extended-blend-pattern_gles2
-x clear-accum
-x copypixels-sync
-x copyteximage-border
-x copytexsubimage
-x draw-sync
-x getteximage-simple
-x gl30basic
-x tcs-input
-x tes-input
-x unaligned-blit
-x user-clip
-x varray-disabled
-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
-x arb_gpu_shader_fp64
-x arb_gpu_shader_gpu5
-x arb_gpu_shader_int64
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x glsl-4.60
-x gl-1.3-texture-env
# Takes ~20 minutes, so manual-only until we can sort out runtime.
a630_piglit_gl:
extends:
- .a630_piglit
- .test-manual
variables:
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: freedreno-a630-gl
a630_piglit_shader:
extends:
- .a630_piglit
variables:
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: freedreno-a630-shader
a630-traces:
extends:
- .piglit-traces-test
- .a630-test
variables:
BARE_METAL_TEST_SCRIPT: "/install/piglit/run.sh"
BM_START_XORG: 1
PIGLIT_REPLAY_DESCRIPTION_FILE: "/install/traces-freedreno.yml"
PIGLIT_REPLAY_DEVICE_NAME: "freedreno-a630"
PIGLIT_RESULTS: "freedreno-a630-replay"
# This lets us run several more traces which don't use any features we're
# missing.
MESA_GLSL_VERSION_OVERRIDE: "460"
MESA_GL_VERSION_OVERRIDE: "4.6"
artifacts:
reports:
junit: results/junit.xml

View File

@ -0,0 +1,99 @@
.llvmpipe-test:
extends:
- .llvmpipe-rules
variables:
LIBGL_ALWAYS_SOFTWARE: "true"
GALLIUM_DRIVER: "llvmpipe"
llvmpipe-piglit-cl:
extends:
- .test-cl
- .piglit-test
- .llvmpipe-test
- .llvmpipe-cl-rules
variables:
LP_CL: 1
LP_NUM_THREADS: 1
PIGLIT_PROFILES: cl
PIGLIT_RESULTS: "llvmpipe-cl"
PIGLIT_OPTIONS: >
-x bswap -x phatk -x clz-optimizations
script:
- install/piglit/run_cl.sh
llvmpipe-piglit-quick_gl:
extends:
- .test-gl
- .piglit-test
- .llvmpipe-test
variables:
GALLIVM_PERF: "no_filter_hacks"
LP_NUM_THREADS: 0
PIGLIT_OPTIONS: >
--process-isolation false
-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_RESULTS: "llvmpipe-quick_gl"
llvmpipe-piglit-glslparser:
extends:
- .test-gl
- .piglit-test
- .llvmpipe-test
variables:
LP_NUM_THREADS: 0
PIGLIT_PROFILES: glslparser
PIGLIT_RESULTS: "llvmpipe-glslparser"
llvmpipe-piglit-quick_shader:
extends:
- .test-gl
- .piglit-test
- .llvmpipe-test
variables:
GALLIVM_PERF: "no_filter_hacks"
LP_NUM_THREADS: 1
PIGLIT_PROFILES: quick_shader
PIGLIT_RESULTS: "llvmpipe-quick_shader"
llvmpipe-traces:
extends:
- .test-gl
- .piglit-traces-test
- .llvmpipe-test
variables:
EGL_PLATFORM: "surfaceless"
PIGLIT_REPLAY_DESCRIPTION_FILE: "${CI_PROJECT_DIR}/install/traces-llvmpipe.yml"
PIGLIT_REPLAY_DEVICE_NAME: "gl-vmware-llvmpipe"
PIGLIT_RESULTS: "llvmpipe-replay"
llvmpipe-gles2:
variables:
DEQP_VER: gles2
GALLIVM_PERF: "nopt,no_filter_hacks"
# Don't use threads inside llvmpipe, we've already got all cores
# busy at the deqp-runner level.
LP_NUM_THREADS: 0
GPU_VERSION: llvmpipe
DEQP_EXPECTED_RENDERER: llvmpipe
extends:
- .test-gl
- .deqp-test
- .llvmpipe-test
lavapipe-vk:
stage: software-renderer
extends:
- .test-vk
- .llvmpipe-rules
- .deqp-test-vk
variables:
GPU_VERSION: lvp
VK_DRIVER: lvp
DEQP_FRACTION: 10

View File

@ -0,0 +1,80 @@
softpipe-gles2:
extends:
- llvmpipe-gles2
- .softpipe-rules
variables:
GPU_VERSION: softpipe
GALLIUM_DRIVER: "softpipe"
DEQP_EXPECTED_RENDERER: softpipe
softpipe-gles3:
variables:
DEQP_VER: gles3
extends: softpipe-gles2
softpipe-gles31:
parallel: 2
variables:
DEQP_VER: gles31
extends: softpipe-gles2
softpipe-asan-gles31:
variables:
GPU_VERSION: softpipe-asan
DEQP_FRACTION: 10
DEQP_VER: gles31
TEST_LD_PRELOAD: libasan.so.5
extends: softpipe-gles2
needs:
- x86_test-gl
- meson-testing-asan
softpipe-piglit-quick:
extends:
- .test-gl
- .piglit-test
- .softpipe-rules
variables:
GALLIUM_DRIVER: softpipe
# rasterpos skipped until we uprev piglit (commit ff2a7650be7349)
# triangle-rasterization skipped due to flakes thanks to it using a time-based random seed.
# glx-multithread-texture is flaky, undiagnosed
PIGLIT_OPTIONS: >
-x rasterpos
-x triangle-rasterization
-x glx-multithread-texture
-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
-x fs-execution-ordering
-x local-id-explosion
-x arb_pipeline_statistics_query-comp
-x streaming-texture-leak
-x longprim
-x shader-mem-barrier
-x arb_gpu_shader_fp64
-x arb_gpu_shader_int64
-x arb_tessellation_shader
-x glsl-4.00
-x glsl-4.10
-x glsl-4.20
-x glsl-4.30
-x glsl-4.40
-x glsl-4.50
-x gpu_shader4
-x gpu_shader5
PIGLIT_PROFILES: quick_gl quick_shader
PIGLIT_RESULTS: softpipe-quick
# Note that KHR-GL3* test sets include all tests from the previous
# version, so we only need to run one test list (unlike dEQP-GLES,
# where the test sets are separate).
softpipe-gl:
variables:
DEQP_VER: gl33
extends:
- softpipe-gles2

View File

@ -0,0 +1,86 @@
.virgl-test:
extends:
- .test-gl
- .virgl-rules
variables:
LIBGL_ALWAYS_SOFTWARE: "true"
GALLIUM_DRIVER: "virpipe"
virgl-gles2-on-gl:
variables:
DEQP_VER: gles2
DEQP_NO_SAVE_RESULTS: 1
GPU_VERSION: virgl-gl
# Don't use threads inside llvmpipe, we've already got all cores
# busy at the deqp-runner level.
LP_NUM_THREADS: 0
DEQP_OPTIONS: "--deqp-log-images=disable"
DEQP_EXPECTED_RENDERER: virgl
extends:
- .deqp-test
- .virgl-test
virgl-gles3-on-gl:
variables:
DEQP_VER: gles3
DEQP_RUNNER_OPTIONS: "--timeout 180"
extends: virgl-gles2-on-gl
virgl-gles31-on-gl:
parallel: 2
variables:
DEQP_VER: gles31
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
virgl-gles2-on-gles:
variables:
VIRGL_HOST_API: GLES
GPU_VERSION: virgl-gles
extends:
- virgl-gles2-on-gl
- .test-manual
virgl-gles3-on-gles:
variables:
VIRGL_HOST_API: GLES
GPU_VERSION: virgl-gles
extends:
- virgl-gles3-on-gl
- .test-manual
virgl-gles31-on-gles:
variables:
VIRGL_HOST_API: GLES
GPU_VERSION: virgl-gles
extends:
- virgl-gles31-on-gl
- .test-manual
virgl-traces:
extends:
- .virgl-test
- .piglit-traces-test
variables:
EGL_PLATFORM: "surfaceless"
PIGLIT_REPLAY_DESCRIPTION_FILE: "${CI_PROJECT_DIR}/install/traces-virgl.yml"
PIGLIT_REPLAY_DEVICE_NAME: "gl-virgl"
PIGLIT_RESULTS: "virgl-replay"
MESA_GLES_VERSION_OVERRIDE: "3.1"
MESA_GLSL_VERSION_OVERRIDE: "310"

View File

@ -0,0 +1,20 @@
.zink-test:
extends:
- .zink-rules
variables:
MESA_LOADER_DRIVER_OVERRIDE: "zink"
ZINK_USE_LAVAPIPE: "true"
zink-piglit-quick_gl:
extends:
- .test-gl
- .piglit-test
- .zink-test
variables:
LP_NUM_THREADS: 0
PIGLIT_OPTIONS: >
-x arb_map_buffer_alignment@arb_map_buffer_alignment-map-invalidate-range
-x glx-make-current
PIGLIT_PROFILES: quick_gl
PIGLIT_RESULTS: "zink-quick_gl"
GALLIVM_PERF: "no_filter_hacks"