wgl: add official gldrv.h header-file
[mesa.git] / .gitlab-ci.yml
1 variables:
2 FDO_UPSTREAM_REPO: mesa/mesa
3
4 include:
5 - project: 'freedesktop/ci-templates'
6 ref: a1699326519fd28526485ce93464e33423bac564
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: $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-ifnot-exists@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-ifnot-exists@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 script:
218 - .\.gitlab-ci\windows\mesa_container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $WINDOWS_IMAGE $WINDOWS_UPSTREAM_IMAGE
219
220 .use-windows_build_vs2019:
221 extends: .windows-docker-vs2019
222 image: "$WINDOWS_IMAGE"
223 needs:
224 - windows_build_vs2019
225
226 # BUILD
227
228 # Shared between windows and Linux
229 .build-common:
230 extends: .ci-run-policy
231 artifacts:
232 name: "mesa_${CI_JOB_NAME}"
233 when: always
234 paths:
235 - _build/meson-logs/*.txt
236 # scons:
237 - build/*/config.log
238 - shader-db
239
240 # Just Linux
241 .build-linux:
242 extends: .build-common
243 variables:
244 CCACHE_COMPILERCHECK: "content"
245 CCACHE_COMPRESS: "true"
246 CCACHE_DIR: /cache/mesa/ccache
247 # Use ccache transparently, and print stats before/after
248 before_script:
249 - export PATH="/usr/lib/ccache:$PATH"
250 - export CCACHE_BASEDIR="$PWD"
251 - ccache --show-stats
252 after_script:
253 - ccache --show-stats
254
255 .build-windows:
256 extends: .build-common
257 tags:
258 - windows
259 - docker
260 - "1809"
261 cache:
262 key: ${CI_JOB_NAME}
263 paths:
264 - subprojects/packagecache
265
266 .meson-build:
267 extends:
268 - .build-linux
269 - .use-x86_build
270 stage: meson-x86_64
271 variables:
272 LLVM_VERSION: 9
273 script:
274 - .gitlab-ci/meson-build.sh
275
276 .scons-build:
277 extends:
278 - .build-linux
279 - .use-x86_build
280 stage: scons
281 variables:
282 SCONSFLAGS: "-j4"
283 script:
284 - .gitlab-ci/scons-build.sh
285
286 meson-testing:
287 extends:
288 - .meson-build
289 - .ci-deqp-artifacts
290 variables:
291 UNWIND: "true"
292 DRI_LOADERS: >
293 -D glx=dri
294 -D gbm=true
295 -D egl=true
296 -D platforms=x11,drm,surfaceless
297 GALLIUM_ST: >
298 -D dri3=true
299 GALLIUM_DRIVERS: "swrast"
300 VULKAN_DRIVERS: amd
301 BUILDTYPE: "debugoptimized"
302 EXTRA_OPTION: >
303 -D werror=true
304 script:
305 - .gitlab-ci/meson-build.sh
306 - .gitlab-ci/prepare-artifacts.sh
307
308 meson-gallium:
309 extends: .meson-build
310 variables:
311 UNWIND: "true"
312 DRI_LOADERS: >
313 -D glx=dri
314 -D gbm=true
315 -D egl=true
316 -D platforms=x11,wayland,drm,surfaceless
317 GALLIUM_ST: >
318 -D dri3=true
319 -D gallium-extra-hud=true
320 -D gallium-vdpau=true
321 -D gallium-xvmc=true
322 -D gallium-omx=bellagio
323 -D gallium-va=true
324 -D gallium-xa=true
325 -D gallium-nine=true
326 -D gallium-opencl=disabled
327 GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swr,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink"
328 EXTRA_OPTION: >
329 -D osmesa=gallium
330 -D tools=all
331 script:
332 - .gitlab-ci/meson-build.sh
333 - .gitlab-ci/run-shader-db.sh
334
335 meson-classic:
336 extends: .meson-build
337 variables:
338 UNWIND: "true"
339 DRI_LOADERS: >
340 -D glx=dri
341 -D gbm=true
342 -D egl=true
343 -D platforms=x11,wayland,drm,surfaceless
344 DRI_DRIVERS: "auto"
345 EXTRA_OPTION: >
346 -D osmesa=classic
347 -D tools=all
348
349 .meson-cross:
350 extends:
351 - .meson-build
352 stage: meson-misc
353 variables:
354 UNWIND: "false"
355 DRI_LOADERS: >
356 -D glx=disabled
357 -D gbm=false
358 -D egl=true
359 -D platforms=surfaceless
360 -D osmesa=none
361 GALLIUM_ST: >
362 -D dri3=false
363 -D gallium-vdpau=false
364 -D gallium-xvmc=false
365 -D gallium-omx=disabled
366 -D gallium-va=false
367 -D gallium-xa=false
368 -D gallium-nine=false
369 LLVM_VERSION: "8"
370
371 .meson-arm:
372 extends:
373 - .meson-cross
374 - .use-arm_build
375 variables:
376 VULKAN_DRIVERS: freedreno
377 GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
378 BUILDTYPE: "debugoptimized"
379 tags:
380 - aarch64
381
382 meson-armhf:
383 extends:
384 - .meson-arm
385 - .ci-deqp-artifacts
386 variables:
387 CROSS: armhf
388 LLVM_VERSION: "7"
389 EXTRA_OPTION: >
390 -D llvm=false
391 script:
392 - .gitlab-ci/meson-build.sh
393 - .gitlab-ci/prepare-artifacts.sh
394
395 meson-arm64:
396 extends:
397 - .meson-arm
398 - .ci-deqp-artifacts
399 variables:
400 VULKAN_DRIVERS: "freedreno"
401 EXTRA_OPTION: >
402 -D llvm=false
403 script:
404 - .gitlab-ci/meson-build.sh
405 - .gitlab-ci/prepare-artifacts.sh
406
407 meson-arm64-build-test:
408 extends:
409 - .meson-arm
410 - .ci-deqp-artifacts
411 variables:
412 VULKAN_DRIVERS: "amd"
413 script:
414 - .gitlab-ci/meson-build.sh
415
416 meson-clang:
417 extends: .meson-build
418 variables:
419 UNWIND: "true"
420 DRI_LOADERS: >
421 -D glvnd=true
422 DRI_DRIVERS: "auto"
423 GALLIUM_DRIVERS: "auto"
424 VULKAN_DRIVERS: intel,amd,freedreno
425 CC: "ccache clang-9"
426 CXX: "ccache clang++-9"
427
428 meson-windows-vs2019:
429 extends:
430 - .build-windows
431 - .use-windows_build_vs2019
432 stage: meson-misc
433 script:
434 - . .\.gitlab-ci\windows\mesa_build.ps1
435
436 scons-win64:
437 extends: .scons-build
438 variables:
439 SCONS_TARGET: platform=windows machine=x86_64
440 SCONS_CHECK_COMMAND: "true"
441
442 meson-clover:
443 extends: .meson-build
444 variables:
445 UNWIND: "true"
446 DRI_LOADERS: >
447 -D glx=disabled
448 -D egl=false
449 -D gbm=false
450 GALLIUM_ST: >
451 -D dri3=false
452 -D gallium-vdpau=false
453 -D gallium-xvmc=false
454 -D gallium-omx=disabled
455 -D gallium-va=false
456 -D gallium-xa=false
457 -D gallium-nine=false
458 -D gallium-opencl=icd
459 script:
460 - export GALLIUM_DRIVERS="r600,radeonsi"
461 - .gitlab-ci/meson-build.sh
462 - LLVM_VERSION=8 .gitlab-ci/meson-build.sh
463 - export GALLIUM_DRIVERS="i915,r600"
464 - LLVM_VERSION=6.0 .gitlab-ci/meson-build.sh
465 - LLVM_VERSION=7 .gitlab-ci/meson-build.sh
466
467 meson-clover-old-llvm:
468 extends:
469 - meson-clover
470 - .use-x86_build_old
471 variables:
472 UNWIND: "false"
473 DRI_LOADERS: >
474 -D glx=disabled
475 -D egl=false
476 -D gbm=false
477 -D platforms=drm,surfaceless
478 GALLIUM_DRIVERS: "i915,r600"
479 script:
480 - LLVM_VERSION=3.9 .gitlab-ci/meson-build.sh
481 - LLVM_VERSION=4.0 .gitlab-ci/meson-build.sh
482 - LLVM_VERSION=5.0 .gitlab-ci/meson-build.sh
483
484 meson-vulkan:
485 extends: .meson-build
486 variables:
487 UNWIND: "false"
488 DRI_LOADERS: >
489 -D glx=disabled
490 -D gbm=false
491 -D egl=false
492 -D platforms=x11,wayland,drm
493 -D osmesa=none
494 GALLIUM_ST: >
495 -D dri3=true
496 -D gallium-vdpau=false
497 -D gallium-xvmc=false
498 -D gallium-omx=disabled
499 -D gallium-va=false
500 -D gallium-xa=false
501 -D gallium-nine=false
502 -D gallium-opencl=disabled
503 -D b_sanitize=undefined
504 -D c_args=-fno-sanitize-recover=all
505 -D cpp_args=-fno-sanitize-recover=all
506 UBSAN_OPTIONS: "print_stacktrace=1"
507 VULKAN_DRIVERS: intel,amd,freedreno
508 EXTRA_OPTION: >
509 -D vulkan-overlay-layer=true
510 -D werror=true
511
512 meson-i386:
513 extends: .meson-cross
514 variables:
515 CROSS: i386
516 VULKAN_DRIVERS: intel,amd
517 GALLIUM_DRIVERS: "iris,r300,radeonsi,swrast,virgl"
518 EXTRA_OPTION: >
519 -D vulkan-overlay-layer=true
520 -D werror=true
521 script:
522 - dpkg -i /var/cache/apt/archives/$CROSS/*.deb
523 - .gitlab-ci/meson-build.sh
524
525 meson-s390x:
526 extends:
527 - .meson-cross
528 tags:
529 - kvm
530 variables:
531 CROSS: s390x
532 GALLIUM_DRIVERS: "swrast"
533 script:
534 # For unknown reasons "too many" installed i386 libraries cause qemu to
535 # crash while executing llvm-config for s390x.
536 - apt-get remove -y libglib2.0-0:i386
537 - dpkg -i /var/cache/apt/archives/$CROSS/*.deb
538 - .gitlab-ci/meson-build.sh
539
540 meson-ppc64el:
541 extends:
542 - meson-s390x
543 variables:
544 CROSS: ppc64el
545 GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl"
546 VULKAN_DRIVERS: "amd"
547
548 meson-mingw32-x86_64:
549 extends: .meson-build
550 stage: meson-misc
551 variables:
552 UNWIND: "false"
553 DRI_DRIVERS: ""
554 GALLIUM_DRIVERS: "swrast"
555 EXTRA_OPTION: >
556 -Dllvm=false
557 -Dosmesa=gallium
558 --cross-file=.gitlab-ci/x86_64-w64-mingw32
559
560 scons:
561 extends: .scons-build
562 variables:
563 SCONS_TARGET: "llvm=1 swr=1"
564 SCONS_CHECK_COMMAND: "scons force_scons=1 ${SCONS_TARGET} check"
565 script:
566 - SCONS_TARGET="" SCONS_CHECK_COMMAND="scons check force_scons=1" .gitlab-ci/scons-build.sh
567 - LLVM_VERSION=9 .gitlab-ci/scons-build.sh
568
569 scons-old-llvm:
570 extends:
571 - scons
572 - .use-x86_build_old
573 script:
574 - LLVM_VERSION=3.9 .gitlab-ci/scons-build.sh
575
576 .test:
577 extends:
578 - .ci-run-policy
579 variables:
580 GIT_STRATEGY: none # testing doesn't build anything from source
581 before_script:
582 # Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
583 - rm -rf install
584 - tar -xf artifacts/install.tar
585 - LD_LIBRARY_PATH=install/lib find install/lib -name "*.so" -print -exec ldd {} \;
586 artifacts:
587 when: always
588 name: "mesa_${CI_JOB_NAME}"
589 paths:
590 - results/
591 dependencies:
592 - meson-testing
593
594 .test-gl:
595 extends:
596 - .test
597 variables:
598 TAG: *x86_test-gl
599 image: "$CI_REGISTRY_IMAGE/debian/x86_test-gl:$TAG"
600 needs:
601 - meson-testing
602 - x86_test-gl
603
604 .test-vk:
605 extends:
606 - .test
607 variables:
608 TAG: *x86_test-vk
609 image: "$CI_REGISTRY_IMAGE/debian/x86_test-vk:$TAG"
610 needs:
611 - meson-testing
612 - x86_test-vk
613
614 .piglit-test:
615 extends:
616 - .test-gl
617 - .llvmpipe-rules
618 artifacts:
619 when: on_failure
620 name: "mesa_${CI_JOB_NAME}"
621 paths:
622 - summary/
623 variables:
624 LIBGL_ALWAYS_SOFTWARE: 1
625 PIGLIT_NO_WINDOW: 1
626 script:
627 - install/piglit/run.sh
628
629 piglit-quick_gl:
630 extends: .piglit-test
631 variables:
632 LP_NUM_THREADS: 0
633 NIR_VALIDATE: 0
634 PIGLIT_OPTIONS: >
635 --process-isolation false
636 -x arb_gpu_shader5
637 -x egl_ext_device_
638 -x egl_ext_platform_device
639 -x ext_timer_query@time-elapsed
640 -x glx-multithread-clearbuffer
641 -x glx-multithread-shader-compile
642 -x max-texture-size
643 -x maxsize
644 PIGLIT_PROFILES: quick_gl
645
646 piglit-glslparser:
647 extends: .piglit-test
648 variables:
649 LP_NUM_THREADS: 0
650 NIR_VALIDATE: 0
651 PIGLIT_PROFILES: glslparser
652
653 piglit-quick_shader:
654 extends: .piglit-test
655 variables:
656 LP_NUM_THREADS: 1
657 NIR_VALIDATE: 0
658 PIGLIT_PROFILES: quick_shader
659
660 .deqp-test:
661 variables:
662 DEQP_SKIPS: deqp-default-skips.txt
663 script:
664 - ./install/deqp-runner.sh
665
666 .deqp-test-gl:
667 extends:
668 - .test-gl
669 - .deqp-test
670
671 .deqp-test-vk:
672 extends:
673 - .test-vk
674 - .deqp-test
675 variables:
676 DEQP_VER: vk
677
678 .fossilize-test:
679 extends: .test-vk
680 script:
681 - ./install/fossilize-runner.sh
682
683 llvmpipe-gles2:
684 variables:
685 DEQP_VER: gles2
686 DEQP_PARALLEL: 4
687 NIR_VALIDATE: 0
688 # Don't use threads inside llvmpipe, we've already got all 4 cores
689 # busy with DEQP_PARALLEL.
690 LP_NUM_THREADS: 0
691 DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
692 LIBGL_ALWAYS_SOFTWARE: "true"
693 extends:
694 - .deqp-test-gl
695 - .llvmpipe-rules
696
697 softpipe-gles2:
698 extends:
699 - llvmpipe-gles2
700 - .softpipe-rules
701 variables:
702 DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
703 DEQP_SKIPS: deqp-softpipe-skips.txt
704 GALLIUM_DRIVER: "softpipe"
705
706 softpipe-gles3:
707 parallel: 2
708 variables:
709 DEQP_VER: gles3
710 extends: softpipe-gles2
711
712 softpipe-gles31:
713 parallel: 4
714 variables:
715 DEQP_VER: gles31
716 extends: softpipe-gles2
717
718 # Rules for tests that should not be present in MRs or the main
719 # project's pipeline (don't block marge or report red on
720 # mesa/mesamaster) but should be present on pipelines in personal
721 # branches (so you can opt in to running the flaky test when you want
722 # to).
723 .test-manual:
724 rules:
725 # Never test in the main project.
726 - if: '$CI_PROJECT_PATH == "mesa/mesa"'
727 when: never
728 # Never test in merge requests.
729 - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
730 when: never
731 # Otherwise, allow testing manually for personal branches.
732 - when: manual
733
734 arm64_a630_gles2:
735 extends:
736 - .deqp-test-gl
737 - .use-arm_test
738 - .freedreno-rules
739 variables:
740 DEQP_VER: gles2
741 DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
742 DEQP_SKIPS: deqp-freedreno-a630-skips.txt
743 NIR_VALIDATE: 0
744 DEQP_PARALLEL: 4
745 FLAKES_CHANNEL: "#freedreno-ci"
746 tags:
747 - mesa-cheza
748 dependencies:
749 - meson-arm64
750
751 arm64_a630_gles31:
752 extends: arm64_a630_gles2
753 variables:
754 DEQP_VER: gles31
755
756 arm64_a630_gles3:
757 extends: arm64_a630_gles2
758 variables:
759 DEQP_VER: gles3
760
761 .baremetal-test:
762 extends:
763 - .ci-run-policy
764 stage: test
765
766 arm64_a306_gles2:
767 extends:
768 - .baremetal-test
769 - .use-arm_build
770 - .freedreno-rules
771 variables:
772 BM_KERNEL: /lava-files/Image.gz
773 BM_DTB: /lava-files/apq8016-sbc.dtb
774 BM_ROOTFS: /lava-files/rootfs-arm64
775 BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
776 DEQP_EXPECTED_FAILS: deqp-freedreno-a307-fails.txt
777 DEQP_SKIPS: deqp-freedreno-a307-skips.txt
778 DEQP_VER: gles2
779 DEQP_PARALLEL: 4
780 script:
781 - .gitlab-ci/bare-metal/fastboot.sh
782 needs:
783 - meson-arm64
784 tags:
785 - google-freedreno-db410c
786
787 # Disabled due to flaky results
788 arm64_a306_gles3:
789 extends:
790 - arm64_a306_gles2
791 - .test-manual
792 parallel: 8
793 variables:
794 DEQP_VER: gles3
795
796 arm64_a530_gles2:
797 extends:
798 - arm64_a306_gles2
799 stage: freedreno
800 variables:
801 BM_KERNEL: /lava-files/db820c-kernel
802 BM_DTB: /lava-files/db820c.dtb
803 BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
804 DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
805 DEQP_SKIPS: deqp-freedreno-a530-skips.txt
806 tags:
807 - google-freedreno-db820c
808
809 arm64_a530_gles3:
810 extends:
811 - arm64_a530_gles2
812 - .test-manual
813 parallel: 6
814 variables:
815 DEQP_VER: gles3
816
817 # RADV CI
818 .test-radv:
819 extends: .radv-rules
820 stage: radv
821 variables:
822 VK_DRIVER: radeon
823 RADV_DEBUG: checkir
824
825 .test-radv-fossilize:
826 extends:
827 - .fossilize-test
828 - .test-radv
829 script:
830 - ./install/fossilize-runner.sh
831 - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./install/fossilize-runner.sh
832
833 # Can only be triggered manually on personal branches because RADV is the only
834 # driver that does Vulkan testing at the moment.
835 radv_polaris10_vkcts:
836 extends:
837 - .deqp-test-vk
838 - .test-radv
839 - .test-manual
840 variables:
841 DEQP_SKIPS: deqp-radv-polaris10-skips.txt
842 tags:
843 - polaris10
844
845 radv-fossils:
846 extends:
847 - .fossilize-test
848 - .test-radv
849 script:
850 # Polaris10
851 - export RADV_FORCE_FAMILY="polaris10"
852 - ./install/fossilize-runner.sh
853 - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./install/fossilize-runner.sh
854 # Vega10
855 - export RADV_FORCE_FAMILY="gfx900"
856 - ./install/fossilize-runner.sh
857 - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./install/fossilize-runner.sh
858 # Navi10
859 - export RADV_FORCE_FAMILY="gfx1010"
860 - ./install/fossilize-runner.sh
861 - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./install/fossilize-runner.sh
862
863 # Traces CI
864 .traces-test:
865 cache:
866 key: ${CI_JOB_NAME}
867 paths:
868 - traces-db/
869
870 .traces-test-gl:
871 extends:
872 - .test-gl
873 - .traces-test
874 script:
875 - ./install/tracie-runner-gl.sh
876
877 .traces-test-vk:
878 extends:
879 - .test-vk
880 - .traces-test
881 script:
882 - ./install/tracie-runner-vk.sh
883
884 llvmpipe-traces:
885 extends:
886 - .traces-test-gl
887 - .llvmpipe-rules
888 variables:
889 LIBGL_ALWAYS_SOFTWARE: "true"
890 GALLIUM_DRIVER: "llvmpipe"
891 DEVICE_NAME: "gl-vmware-llvmpipe"
892
893 radv-polaris10-traces:
894 extends:
895 - .traces-test-vk
896 - .test-radv
897 - .test-manual
898 variables:
899 DEVICE_NAME: "vk-amd-polaris10"
900 tags:
901 - polaris10