scons: Prune out unnecessary targets.
[mesa.git] / .gitlab-ci.yml
1 variables:
2 FDO_UPSTREAM_REPO: mesa/mesa
3
4 include:
5 - project: 'freedesktop/ci-templates'
6 ref: 4b2997287317808830e9cb4eb0f99b691787da88
7 file: '/templates/debian.yml'
8 - local: '.gitlab-ci/lava-gitlab-ci.yml'
9 - local: '.gitlab-ci/test-source-dep.yml'
10
11 stages:
12 - container
13 - meson-x86_64
14 - scons
15 - meson-misc
16 - llvmpipe
17 - softpipe
18 - freedreno
19 - panfrost
20 - radv
21 - lima
22 - success
23
24
25 # When to automatically run the CI
26 .ci-run-policy:
27 rules:
28 # Run pipeline by default for merge requests changing files affecting it
29 - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
30 changes: &paths
31 - VERSION
32 - bin/**/*
33 # GitLab CI
34 - .gitlab-ci.yml
35 - .gitlab-ci/**/*
36 # Meson
37 - meson*
38 - build-support/**/*
39 - subprojects/**/*
40 # SCons
41 - SConstruct
42 - scons/**/*
43 - common.py
44 # Source code
45 - include/**/*
46 - src/**/*
47 when: on_success
48 # Run pipeline by default in the main project if files affecting it were
49 # changed
50 - if: '$CI_PROJECT_PATH == "mesa/mesa"'
51 changes:
52 *paths
53 when: on_success
54 # Allow triggering jobs manually on branches of forked projects
55 - if: '$CI_PROJECT_PATH != "mesa/mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
56 when: manual
57 # Otherwise, most jobs won't run
58 - when: never
59 retry:
60 max: 2
61 when:
62 - runner_system_failure
63 # Cancel CI run if a newer commit is pushed to the same branch
64 interruptible: true
65
66 success:
67 stage: success
68 image: debian:stable-slim
69 only:
70 - merge_requests
71 except:
72 changes:
73 *paths
74 variables:
75 GIT_STRATEGY: none
76 script:
77 - echo "Dummy job to make sure every merge request pipeline runs at least one job"
78
79
80 .ci-deqp-artifacts:
81 artifacts:
82 name: "mesa_${CI_JOB_NAME}"
83 when: always
84 untracked: false
85 paths:
86 # Watch out! Artifacts are relative to the build dir.
87 # https://gitlab.com/gitlab-org/gitlab-ce/commit/8788fb925706cad594adf6917a6c5f6587dd1521
88 - artifacts
89
90 # Build the CI docker images.
91 #
92 # FDO_DISTRIBUTION_TAG is the tag of the docker image used by later stage jobs. If the
93 # image doesn't exist yet, the container stage job generates it.
94 #
95 # In order to generate a new image, one should generally change the tag.
96 # While removing the image from the registry would also work, that's not
97 # recommended except for ephemeral images during development: Replacing
98 # an image after a significant amount of time might pull in newer
99 # versions of gcc/clang or other packages, which might break the build
100 # with older commits using the same tag.
101 #
102 # After merging a change resulting in generating a new image to the
103 # main repository, it's recommended to remove the image from the source
104 # repository's container registry, so that the image from the main
105 # repository's registry will be used there as well.
106
107 .container:
108 stage: container
109 extends:
110 - .ci-run-policy
111 variables:
112 FDO_DISTRIBUTION_VERSION: buster-slim
113 FDO_REPO_SUFFIX: "debian/$CI_JOB_NAME"
114 FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
115 # no need to pull the whole repo to build the container image
116 GIT_STRATEGY: none
117
118 # Debian 10 based x86 build image
119 x86_build:
120 extends:
121 - .fdo.container-build@debian
122 - .container
123 variables:
124 FDO_DISTRIBUTION_TAG: &x86_build "2020-03-13"
125
126 .use-x86_build:
127 variables:
128 TAG: *x86_build
129 image: "$CI_REGISTRY_IMAGE/debian/x86_build:$TAG"
130 needs:
131 - x86_build
132
133 # Debian 10 based x86 test image for GL
134 x86_test-gl:
135 extends: x86_build
136 variables:
137 FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-03-13"
138
139 # Debian 10 based x86 test image for VK
140 x86_test-vk:
141 extends: x86_build
142 variables:
143 FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-03-27"
144
145 # Debian 9 based x86 build image (old LLVM)
146 x86_build_old:
147 extends: x86_build
148 variables:
149 FDO_DISTRIBUTION_TAG: &x86_build_old "2019-09-18"
150 FDO_DISTRIBUTION_VERSION: stretch-slim
151
152 .use-x86_build_old:
153 variables:
154 TAG: *x86_build_old
155 image: "$CI_REGISTRY_IMAGE/debian/x86_build_old:$TAG"
156 needs:
157 - x86_build_old
158
159 # Debian 10 based ARM build image
160 arm_build:
161 extends:
162 - .fdo.container-build@debian@arm64v8
163 - .container
164 variables:
165 FDO_DISTRIBUTION_TAG: &arm_build "2020-03-24"
166
167 .use-arm_build:
168 variables:
169 TAG: *arm_build
170 image: "$CI_REGISTRY_IMAGE/debian/arm_build:$TAG"
171 needs:
172 - arm_build
173
174 # Debian 10 based ARM test image
175 arm_test:
176 extends: arm_build
177 variables:
178 FDO_DISTRIBUTION_TAG: &arm_test "2020-01-30"
179
180 .use-arm_test:
181 variables:
182 TAG: *arm_test
183 image: "$CI_REGISTRY_IMAGE/debian/arm_test:$TAG"
184 needs:
185 - meson-arm64
186 - arm_test
187
188 # Native Windows docker builds
189 #
190 # Unlike the above Linux-based builds - including MinGW/SCons builds which
191 # cross-compile for Windows - which use the freedesktop ci-templates, we
192 # cannot use the same scheme here. As Windows lacks support for
193 # Docker-in-Docker, and Podman does not run natively on Windows, we have
194 # to open-code much of the same ourselves.
195 #
196 # This is achieved by first running in a native Windows shell instance
197 # (host PowerShell) in the container stage to build and push the image,
198 # then in the build stage by executing inside Docker.
199
200 .windows-docker-vs2019:
201 variables:
202 WINDOWS_TAG: "2020-03-24"
203 WINDOWS_IMAGE: "$CI_REGISTRY_IMAGE/windows/x64_build:$WINDOWS_TAG"
204 WINDOWS_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/windows/x64_build:$WINDOWS_TAG"
205
206 windows_build_vs2019:
207 extends:
208 - .container
209 - .windows-docker-vs2019
210 stage: container
211 variables:
212 GIT_STRATEGY: fetch # we do actually need the full repository though
213 tags:
214 - windows
215 - shell
216 - "1809"
217 - mesa
218 script:
219 - .\.gitlab-ci\windows\mesa_container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $WINDOWS_IMAGE $WINDOWS_UPSTREAM_IMAGE
220
221 .use-windows_build_vs2019:
222 extends: .windows-docker-vs2019
223 image: "$WINDOWS_IMAGE"
224 needs:
225 - windows_build_vs2019
226
227 # BUILD
228
229 # Shared between windows and Linux
230 .build-common:
231 extends: .ci-run-policy
232 artifacts:
233 name: "mesa_${CI_JOB_NAME}"
234 when: always
235 paths:
236 - _build/meson-logs/*.txt
237 # scons:
238 - build/*/config.log
239 - shader-db
240
241 # Just Linux
242 .build-linux:
243 extends: .build-common
244 variables:
245 CCACHE_COMPILERCHECK: "content"
246 CCACHE_COMPRESS: "true"
247 CCACHE_DIR: /cache/mesa/ccache
248 # Use ccache transparently, and print stats before/after
249 before_script:
250 - export PATH="/usr/lib/ccache:$PATH"
251 - export CCACHE_BASEDIR="$PWD"
252 - ccache --show-stats
253 after_script:
254 - ccache --show-stats
255
256 .build-windows:
257 extends: .build-common
258 tags:
259 - windows
260 - docker
261 - "1809"
262 cache:
263 key: ${CI_JOB_NAME}
264 paths:
265 - subprojects/packagecache
266
267 .meson-build:
268 extends:
269 - .build-linux
270 - .use-x86_build
271 stage: meson-x86_64
272 variables:
273 LLVM_VERSION: 9
274 script:
275 - .gitlab-ci/meson-build.sh
276
277 .scons-build:
278 extends:
279 - .build-linux
280 - .use-x86_build
281 stage: scons
282 variables:
283 SCONSFLAGS: "-j4"
284 script:
285 - .gitlab-ci/scons-build.sh
286
287 meson-testing:
288 extends:
289 - .meson-build
290 - .ci-deqp-artifacts
291 variables:
292 UNWIND: "true"
293 DRI_LOADERS: >
294 -D glx=dri
295 -D gbm=true
296 -D egl=true
297 -D platforms=x11,drm,surfaceless
298 GALLIUM_ST: >
299 -D dri3=true
300 GALLIUM_DRIVERS: "swrast"
301 VULKAN_DRIVERS: amd
302 BUILDTYPE: "debugoptimized"
303 EXTRA_OPTION: >
304 -D werror=true
305 script:
306 - .gitlab-ci/meson-build.sh
307 - .gitlab-ci/prepare-artifacts.sh
308
309 meson-gallium:
310 extends: .meson-build
311 variables:
312 UNWIND: "true"
313 DRI_LOADERS: >
314 -D glx=dri
315 -D gbm=true
316 -D egl=true
317 -D platforms=x11,wayland,drm,surfaceless
318 GALLIUM_ST: >
319 -D dri3=true
320 -D gallium-extra-hud=true
321 -D gallium-vdpau=true
322 -D gallium-xvmc=true
323 -D gallium-omx=bellagio
324 -D gallium-va=true
325 -D gallium-xa=true
326 -D gallium-nine=true
327 -D gallium-opencl=disabled
328 GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swr,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink"
329 EXTRA_OPTION: >
330 -D osmesa=gallium
331 -D tools=all
332 script:
333 - .gitlab-ci/meson-build.sh
334 - .gitlab-ci/run-shader-db.sh
335
336 meson-classic:
337 extends: .meson-build
338 variables:
339 UNWIND: "true"
340 DRI_LOADERS: >
341 -D glx=dri
342 -D gbm=true
343 -D egl=true
344 -D platforms=x11,wayland,drm,surfaceless
345 DRI_DRIVERS: "auto"
346 EXTRA_OPTION: >
347 -D osmesa=classic
348 -D tools=all
349
350 .meson-cross:
351 extends:
352 - .meson-build
353 stage: meson-misc
354 variables:
355 UNWIND: "false"
356 DRI_LOADERS: >
357 -D glx=disabled
358 -D gbm=false
359 -D egl=true
360 -D platforms=surfaceless
361 -D osmesa=none
362 GALLIUM_ST: >
363 -D dri3=false
364 -D gallium-vdpau=false
365 -D gallium-xvmc=false
366 -D gallium-omx=disabled
367 -D gallium-va=false
368 -D gallium-xa=false
369 -D gallium-nine=false
370 LLVM_VERSION: "8"
371
372 .meson-arm:
373 extends:
374 - .meson-cross
375 - .use-arm_build
376 variables:
377 VULKAN_DRIVERS: freedreno
378 GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
379 BUILDTYPE: "debugoptimized"
380 tags:
381 - aarch64
382
383 meson-armhf:
384 extends:
385 - .meson-arm
386 - .ci-deqp-artifacts
387 variables:
388 CROSS: armhf
389 LLVM_VERSION: "7"
390 EXTRA_OPTION: >
391 -D llvm=false
392 script:
393 - .gitlab-ci/meson-build.sh
394 - .gitlab-ci/prepare-artifacts.sh
395
396 meson-arm64:
397 extends:
398 - .meson-arm
399 - .ci-deqp-artifacts
400 variables:
401 VULKAN_DRIVERS: "freedreno"
402 EXTRA_OPTION: >
403 -D llvm=false
404 script:
405 - .gitlab-ci/meson-build.sh
406 - .gitlab-ci/prepare-artifacts.sh
407
408 meson-arm64-build-test:
409 extends:
410 - .meson-arm
411 - .ci-deqp-artifacts
412 variables:
413 VULKAN_DRIVERS: "amd"
414 script:
415 - .gitlab-ci/meson-build.sh
416
417 meson-clang:
418 extends: .meson-build
419 variables:
420 UNWIND: "true"
421 DRI_LOADERS: >
422 -D glvnd=true
423 DRI_DRIVERS: "auto"
424 GALLIUM_DRIVERS: "auto"
425 VULKAN_DRIVERS: intel,amd,freedreno
426 CC: "ccache clang-9"
427 CXX: "ccache clang++-9"
428
429 .meson-windows-vs2019:
430 extends:
431 - .build-windows
432 - .use-windows_build_vs2019
433 stage: meson-misc
434 script:
435 - . .\.gitlab-ci\windows\mesa_build.ps1
436
437 scons-win64:
438 extends: .scons-build
439 variables:
440 SCONS_TARGET: platform=windows machine=x86_64
441 SCONS_CHECK_COMMAND: "true"
442
443 meson-clover:
444 extends: .meson-build
445 variables:
446 UNWIND: "true"
447 DRI_LOADERS: >
448 -D glx=disabled
449 -D egl=false
450 -D gbm=false
451 GALLIUM_ST: >
452 -D dri3=false
453 -D gallium-vdpau=false
454 -D gallium-xvmc=false
455 -D gallium-omx=disabled
456 -D gallium-va=false
457 -D gallium-xa=false
458 -D gallium-nine=false
459 -D gallium-opencl=icd
460 script:
461 - export GALLIUM_DRIVERS="r600,radeonsi"
462 - .gitlab-ci/meson-build.sh
463 - LLVM_VERSION=8 .gitlab-ci/meson-build.sh
464 - export GALLIUM_DRIVERS="i915,r600"
465 - LLVM_VERSION=6.0 .gitlab-ci/meson-build.sh
466 - LLVM_VERSION=7 .gitlab-ci/meson-build.sh
467
468 meson-clover-old-llvm:
469 extends:
470 - meson-clover
471 - .use-x86_build_old
472 variables:
473 UNWIND: "false"
474 DRI_LOADERS: >
475 -D glx=disabled
476 -D egl=false
477 -D gbm=false
478 -D platforms=drm,surfaceless
479 GALLIUM_DRIVERS: "i915,r600"
480 script:
481 - LLVM_VERSION=3.9 .gitlab-ci/meson-build.sh
482 - LLVM_VERSION=4.0 .gitlab-ci/meson-build.sh
483 - LLVM_VERSION=5.0 .gitlab-ci/meson-build.sh
484
485 meson-vulkan:
486 extends: .meson-build
487 variables:
488 UNWIND: "false"
489 DRI_LOADERS: >
490 -D glx=disabled
491 -D gbm=false
492 -D egl=false
493 -D platforms=x11,wayland,drm
494 -D osmesa=none
495 GALLIUM_ST: >
496 -D dri3=true
497 -D gallium-vdpau=false
498 -D gallium-xvmc=false
499 -D gallium-omx=disabled
500 -D gallium-va=false
501 -D gallium-xa=false
502 -D gallium-nine=false
503 -D gallium-opencl=disabled
504 -D b_sanitize=undefined
505 -D c_args=-fno-sanitize-recover=all
506 -D cpp_args=-fno-sanitize-recover=all
507 UBSAN_OPTIONS: "print_stacktrace=1"
508 VULKAN_DRIVERS: intel,amd,freedreno
509 EXTRA_OPTION: >
510 -D vulkan-overlay-layer=true
511 -D werror=true
512
513 meson-i386:
514 extends: .meson-cross
515 variables:
516 CROSS: i386
517 VULKAN_DRIVERS: intel,amd
518 GALLIUM_DRIVERS: "iris,r300,radeonsi,swrast,virgl"
519 EXTRA_OPTION: >
520 -D vulkan-overlay-layer=true
521 -D werror=true
522 script:
523 - dpkg -i /var/cache/apt/archives/$CROSS/*.deb
524 - .gitlab-ci/meson-build.sh
525
526 meson-s390x:
527 extends:
528 - .meson-cross
529 tags:
530 - kvm
531 variables:
532 CROSS: s390x
533 GALLIUM_DRIVERS: "swrast"
534 script:
535 # For unknown reasons "too many" installed i386 libraries cause qemu to
536 # crash while executing llvm-config for s390x.
537 - apt-get remove -y libglib2.0-0:i386
538 - dpkg -i /var/cache/apt/archives/$CROSS/*.deb
539 - .gitlab-ci/meson-build.sh
540
541 meson-ppc64el:
542 extends:
543 - meson-s390x
544 variables:
545 CROSS: ppc64el
546 GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl"
547 VULKAN_DRIVERS: "amd"
548
549 meson-mingw32-x86_64:
550 extends: .meson-build
551 stage: meson-misc
552 variables:
553 UNWIND: "false"
554 DRI_DRIVERS: ""
555 GALLIUM_DRIVERS: "swrast"
556 EXTRA_OPTION: >
557 -Dllvm=false
558 -Dosmesa=gallium
559 --cross-file=.gitlab-ci/x86_64-w64-mingw32
560
561 scons:
562 extends: .scons-build
563 variables:
564 SCONS_TARGET: "llvm=1"
565 SCONS_CHECK_COMMAND: "scons force_scons=1 ${SCONS_TARGET} check"
566 script:
567 - SCONS_TARGET="" SCONS_CHECK_COMMAND="scons check force_scons=1" .gitlab-ci/scons-build.sh
568 - LLVM_VERSION=9 .gitlab-ci/scons-build.sh
569
570 scons-old-llvm:
571 extends:
572 - scons
573 - .use-x86_build_old
574 script:
575 - LLVM_VERSION=3.9 .gitlab-ci/scons-build.sh
576
577 .test:
578 extends:
579 - .ci-run-policy
580 variables:
581 GIT_STRATEGY: none # testing doesn't build anything from source
582 before_script:
583 # Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
584 - rm -rf install
585 - tar -xf artifacts/install.tar
586 - LD_LIBRARY_PATH=install/lib find install/lib -name "*.so" -print -exec ldd {} \;
587 artifacts:
588 when: always
589 name: "mesa_${CI_JOB_NAME}"
590 paths:
591 - results/
592 dependencies:
593 - meson-testing
594
595 .test-gl:
596 extends:
597 - .test
598 variables:
599 TAG: *x86_test-gl
600 image: "$CI_REGISTRY_IMAGE/debian/x86_test-gl:$TAG"
601 needs:
602 - meson-testing
603 - x86_test-gl
604
605 .test-vk:
606 extends:
607 - .test
608 variables:
609 TAG: *x86_test-vk
610 image: "$CI_REGISTRY_IMAGE/debian/x86_test-vk:$TAG"
611 needs:
612 - meson-testing
613 - x86_test-vk
614
615 .piglit-test:
616 extends:
617 - .test-gl
618 - .llvmpipe-rules
619 artifacts:
620 when: on_failure
621 name: "mesa_${CI_JOB_NAME}"
622 paths:
623 - summary/
624 variables:
625 LIBGL_ALWAYS_SOFTWARE: 1
626 PIGLIT_NO_WINDOW: 1
627 script:
628 - install/piglit/run.sh
629
630 piglit-quick_gl:
631 extends: .piglit-test
632 variables:
633 LP_NUM_THREADS: 0
634 NIR_VALIDATE: 0
635 PIGLIT_OPTIONS: >
636 --process-isolation false
637 -x arb_gpu_shader5
638 -x egl_ext_device_
639 -x egl_ext_platform_device
640 -x ext_timer_query@time-elapsed
641 -x glx-multithread-clearbuffer
642 -x glx-multithread-shader-compile
643 -x max-texture-size
644 -x maxsize
645 PIGLIT_PROFILES: quick_gl
646
647 piglit-glslparser:
648 extends: .piglit-test
649 variables:
650 LP_NUM_THREADS: 0
651 NIR_VALIDATE: 0
652 PIGLIT_PROFILES: glslparser
653
654 piglit-quick_shader:
655 extends: .piglit-test
656 variables:
657 LP_NUM_THREADS: 1
658 NIR_VALIDATE: 0
659 PIGLIT_PROFILES: quick_shader
660
661 .deqp-test:
662 variables:
663 DEQP_SKIPS: deqp-default-skips.txt
664 script:
665 - ./install/deqp-runner.sh
666
667 .deqp-test-gl:
668 extends:
669 - .test-gl
670 - .deqp-test
671
672 .deqp-test-vk:
673 extends:
674 - .test-vk
675 - .deqp-test
676 variables:
677 DEQP_VER: vk
678
679 .fossilize-test:
680 extends: .test-vk
681 script:
682 - ./install/fossilize-runner.sh
683
684 llvmpipe-gles2:
685 variables:
686 DEQP_VER: gles2
687 DEQP_PARALLEL: 4
688 NIR_VALIDATE: 0
689 # Don't use threads inside llvmpipe, we've already got all 4 cores
690 # busy with DEQP_PARALLEL.
691 LP_NUM_THREADS: 0
692 DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
693 LIBGL_ALWAYS_SOFTWARE: "true"
694 extends:
695 - .deqp-test-gl
696 - .llvmpipe-rules
697
698 softpipe-gles2:
699 extends:
700 - llvmpipe-gles2
701 - .softpipe-rules
702 variables:
703 DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
704 DEQP_SKIPS: deqp-softpipe-skips.txt
705 GALLIUM_DRIVER: "softpipe"
706
707 softpipe-gles3:
708 parallel: 2
709 variables:
710 DEQP_VER: gles3
711 extends: softpipe-gles2
712
713 softpipe-gles31:
714 parallel: 4
715 variables:
716 DEQP_VER: gles31
717 extends: softpipe-gles2
718
719 # Rules for tests that should not be present in MRs or the main
720 # project's pipeline (don't block marge or report red on
721 # mesa/mesamaster) but should be present on pipelines in personal
722 # branches (so you can opt in to running the flaky test when you want
723 # to).
724 .test-manual:
725 rules:
726 # Never test in the main project.
727 - if: '$CI_PROJECT_PATH == "mesa/mesa"'
728 when: never
729 # Never test in merge requests.
730 - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
731 when: never
732 # Otherwise, allow testing manually for personal branches.
733 - when: manual
734
735 arm64_a630_gles2:
736 extends:
737 - .deqp-test-gl
738 - .use-arm_test
739 - .freedreno-rules
740 variables:
741 DEQP_VER: gles2
742 DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
743 DEQP_SKIPS: deqp-freedreno-a630-skips.txt
744 NIR_VALIDATE: 0
745 DEQP_PARALLEL: 4
746 FLAKES_CHANNEL: "#freedreno-ci"
747 tags:
748 - mesa-cheza
749 dependencies:
750 - meson-arm64
751
752 arm64_a630_gles31:
753 extends: arm64_a630_gles2
754 variables:
755 DEQP_VER: gles31
756
757 arm64_a630_gles3:
758 extends: arm64_a630_gles2
759 variables:
760 DEQP_VER: gles3
761
762 .baremetal-test:
763 extends:
764 - .ci-run-policy
765 stage: test
766
767 arm64_a306_gles2:
768 extends:
769 - .baremetal-test
770 - .use-arm_build
771 - .freedreno-rules
772 variables:
773 BM_KERNEL: /lava-files/Image.gz
774 BM_DTB: /lava-files/apq8016-sbc.dtb
775 BM_ROOTFS: /lava-files/rootfs-arm64
776 BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
777 DEQP_EXPECTED_FAILS: deqp-freedreno-a307-fails.txt
778 DEQP_SKIPS: deqp-freedreno-a307-skips.txt
779 DEQP_VER: gles2
780 DEQP_PARALLEL: 4
781 script:
782 - .gitlab-ci/bare-metal/fastboot.sh
783 needs:
784 - meson-arm64
785 tags:
786 - google-freedreno-db410c
787
788 # Disabled due to flaky results
789 arm64_a306_gles3:
790 extends:
791 - arm64_a306_gles2
792 - .test-manual
793 parallel: 8
794 variables:
795 DEQP_VER: gles3
796
797 arm64_a530_gles2:
798 extends:
799 - arm64_a306_gles2
800 stage: freedreno
801 variables:
802 BM_KERNEL: /lava-files/db820c-kernel
803 BM_DTB: /lava-files/db820c.dtb
804 BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
805 DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
806 DEQP_SKIPS: deqp-freedreno-a530-skips.txt
807 tags:
808 - google-freedreno-db820c
809
810 arm64_a530_gles3:
811 extends:
812 - arm64_a530_gles2
813 - .test-manual
814 parallel: 6
815 variables:
816 DEQP_VER: gles3
817
818 # RADV CI
819 .test-radv:
820 extends: .radv-rules
821 stage: radv
822 variables:
823 VK_DRIVER: radeon
824 RADV_DEBUG: checkir
825
826 .test-radv-fossilize:
827 extends:
828 - .fossilize-test
829 - .test-radv
830 script:
831 - ./install/fossilize-runner.sh
832 - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./install/fossilize-runner.sh
833
834 # Can only be triggered manually on personal branches because RADV is the only
835 # driver that does Vulkan testing at the moment.
836 radv_polaris10_vkcts:
837 extends:
838 - .deqp-test-vk
839 - .test-radv
840 - .test-manual
841 variables:
842 DEQP_SKIPS: deqp-radv-polaris10-skips.txt
843 tags:
844 - polaris10
845
846 radv-fossils:
847 extends:
848 - .fossilize-test
849 - .test-radv
850 script:
851 # Polaris10
852 - export RADV_FORCE_FAMILY="polaris10"
853 - ./install/fossilize-runner.sh
854 - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./install/fossilize-runner.sh
855 # Vega10
856 - export RADV_FORCE_FAMILY="gfx900"
857 - ./install/fossilize-runner.sh
858 - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./install/fossilize-runner.sh
859 # Navi10
860 - export RADV_FORCE_FAMILY="gfx1010"
861 - ./install/fossilize-runner.sh
862 - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./install/fossilize-runner.sh
863
864 # Traces CI
865 .traces-test:
866 cache:
867 key: ${CI_JOB_NAME}
868 paths:
869 - traces-db/
870
871 .traces-test-gl:
872 extends:
873 - .test-gl
874 - .traces-test
875 script:
876 - ./install/tracie-runner-gl.sh
877
878 .traces-test-vk:
879 extends:
880 - .test-vk
881 - .traces-test
882 script:
883 - ./install/tracie-runner-vk.sh
884
885 llvmpipe-traces:
886 extends:
887 - .traces-test-gl
888 - .llvmpipe-rules
889 variables:
890 LIBGL_ALWAYS_SOFTWARE: "true"
891 GALLIUM_DRIVER: "llvmpipe"
892 DEVICE_NAME: "gl-vmware-llvmpipe"
893
894 radv-polaris10-traces:
895 extends:
896 - .traces-test-vk
897 - .test-radv
898 - .test-manual
899 variables:
900 DEVICE_NAME: "vk-amd-polaris10"
901 tags:
902 - polaris10