1bf215546Sopenharmony_ci# Shared between windows and Linux
2bf215546Sopenharmony_ci.build-common:
3bf215546Sopenharmony_ci  extends: .build-rules
4bf215546Sopenharmony_ci  # Cancel job if a newer commit is pushed to the same branch
5bf215546Sopenharmony_ci  interruptible: true
6bf215546Sopenharmony_ci  artifacts:
7bf215546Sopenharmony_ci    name: "mesa_${CI_JOB_NAME}"
8bf215546Sopenharmony_ci    when: always
9bf215546Sopenharmony_ci    paths:
10bf215546Sopenharmony_ci      - _build/meson-logs/*.txt
11bf215546Sopenharmony_ci      - _build/meson-logs/strace
12bf215546Sopenharmony_ci      - shader-db
13bf215546Sopenharmony_ci
14bf215546Sopenharmony_ci# Just Linux
15bf215546Sopenharmony_ci.build-linux:
16bf215546Sopenharmony_ci  extends: .build-common
17bf215546Sopenharmony_ci  variables:
18bf215546Sopenharmony_ci    CCACHE_COMPILERCHECK: "content"
19bf215546Sopenharmony_ci    CCACHE_COMPRESS: "true"
20bf215546Sopenharmony_ci    CCACHE_DIR: /cache/mesa/ccache
21bf215546Sopenharmony_ci  # Use ccache transparently, and print stats before/after
22bf215546Sopenharmony_ci  before_script:
23bf215546Sopenharmony_ci    - !reference [default, before_script]
24bf215546Sopenharmony_ci    - export PATH="/usr/lib/ccache:$PATH"
25bf215546Sopenharmony_ci    - export CCACHE_BASEDIR="$PWD"
26bf215546Sopenharmony_ci    - echo -e "\e[0Ksection_start:$(date +%s):ccache_before[collapsed=true]\r\e[0Kccache stats before build"
27bf215546Sopenharmony_ci    - ccache --show-stats
28bf215546Sopenharmony_ci    - echo -e "\e[0Ksection_end:$(date +%s):ccache_before\r\e[0K"
29bf215546Sopenharmony_ci  after_script:
30bf215546Sopenharmony_ci    - echo -e "\e[0Ksection_start:$(date +%s):ccache_after[collapsed=true]\r\e[0Kccache stats after build"
31bf215546Sopenharmony_ci    - ccache --show-stats
32bf215546Sopenharmony_ci    - echo -e "\e[0Ksection_end:$(date +%s):ccache_after\r\e[0K"
33bf215546Sopenharmony_ci    - !reference [default, after_script]
34bf215546Sopenharmony_ci
35bf215546Sopenharmony_ci.build-windows:
36bf215546Sopenharmony_ci  extends: .build-common
37bf215546Sopenharmony_ci  tags:
38bf215546Sopenharmony_ci    - windows
39bf215546Sopenharmony_ci    - docker
40bf215546Sopenharmony_ci    - "2022"
41bf215546Sopenharmony_ci    - mesa
42bf215546Sopenharmony_ci  cache:
43bf215546Sopenharmony_ci    key: ${CI_JOB_NAME}
44bf215546Sopenharmony_ci    paths:
45bf215546Sopenharmony_ci      - subprojects/packagecache
46bf215546Sopenharmony_ci
47bf215546Sopenharmony_ci.meson-build:
48bf215546Sopenharmony_ci  extends:
49bf215546Sopenharmony_ci    - .build-linux
50bf215546Sopenharmony_ci    - .use-debian/x86_build
51bf215546Sopenharmony_ci  stage: build-x86_64
52bf215546Sopenharmony_ci  variables:
53bf215546Sopenharmony_ci    LLVM_VERSION: 11
54bf215546Sopenharmony_ci  script:
55bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
56bf215546Sopenharmony_ci
57bf215546Sopenharmony_ci.meson-build_mingw:
58bf215546Sopenharmony_ci  extends:
59bf215546Sopenharmony_ci    - .build-linux
60bf215546Sopenharmony_ci    - .use-debian/x86_build_mingw
61bf215546Sopenharmony_ci    - .use-wine
62bf215546Sopenharmony_ci  stage: build-x86_64
63bf215546Sopenharmony_ci  script:
64bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
65bf215546Sopenharmony_ci
66bf215546Sopenharmony_cidebian-testing:
67bf215546Sopenharmony_ci  extends:
68bf215546Sopenharmony_ci    - .meson-build
69bf215546Sopenharmony_ci    - .ci-deqp-artifacts
70bf215546Sopenharmony_ci  variables:
71bf215546Sopenharmony_ci    UNWIND: "enabled"
72bf215546Sopenharmony_ci    DRI_LOADERS: >
73bf215546Sopenharmony_ci      -D glx=dri
74bf215546Sopenharmony_ci      -D gbm=enabled
75bf215546Sopenharmony_ci      -D egl=enabled
76bf215546Sopenharmony_ci      -D platforms=x11
77bf215546Sopenharmony_ci    GALLIUM_ST: >
78bf215546Sopenharmony_ci      -D dri3=enabled
79bf215546Sopenharmony_ci      -D gallium-va=enabled
80bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "swrast,virgl,radeonsi,zink,crocus,iris,i915"
81bf215546Sopenharmony_ci    VULKAN_DRIVERS: "swrast,amd,intel"
82bf215546Sopenharmony_ci    BUILDTYPE: "debugoptimized"
83bf215546Sopenharmony_ci    EXTRA_OPTION: >
84bf215546Sopenharmony_ci      -D spirv-to-dxil=true
85bf215546Sopenharmony_ci      -D valgrind=false
86bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: mesa-amd64
87bf215546Sopenharmony_ci    LLVM_VERSION: "13"
88bf215546Sopenharmony_ci  script:
89bf215546Sopenharmony_ci    - .gitlab-ci/lava/lava-pytest.sh
90bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
91bf215546Sopenharmony_ci    - .gitlab-ci/prepare-artifacts.sh
92bf215546Sopenharmony_ci  artifacts:
93bf215546Sopenharmony_ci    reports:
94bf215546Sopenharmony_ci      junit: artifacts/ci_scripts_report.xml
95bf215546Sopenharmony_ci
96bf215546Sopenharmony_cidebian-testing-asan:
97bf215546Sopenharmony_ci  extends:
98bf215546Sopenharmony_ci    - debian-testing
99bf215546Sopenharmony_ci  variables:
100bf215546Sopenharmony_ci    C_ARGS: >
101bf215546Sopenharmony_ci      -Wno-error=stringop-truncation
102bf215546Sopenharmony_ci    EXTRA_OPTION: >
103bf215546Sopenharmony_ci      -D b_sanitize=address
104bf215546Sopenharmony_ci      -D valgrind=false
105bf215546Sopenharmony_ci      -D tools=dlclose-skip
106bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: ""
107bf215546Sopenharmony_ci    ARTIFACTS_DEBUG_SYMBOLS: 1
108bf215546Sopenharmony_ci
109bf215546Sopenharmony_cidebian-testing-msan:
110bf215546Sopenharmony_ci  extends:
111bf215546Sopenharmony_ci    - debian-clang
112bf215546Sopenharmony_ci  variables:
113bf215546Sopenharmony_ci    # l_undef is incompatible with msan
114bf215546Sopenharmony_ci    EXTRA_OPTION:
115bf215546Sopenharmony_ci      -D b_sanitize=memory
116bf215546Sopenharmony_ci      -D b_lundef=false
117bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: ""
118bf215546Sopenharmony_ci    ARTIFACTS_DEBUG_SYMBOLS: 1
119bf215546Sopenharmony_ci    # Don't run all the tests yet:
120bf215546Sopenharmony_ci    # GLSL has some issues in sexpression reading.
121bf215546Sopenharmony_ci    # gtest has issues in its test initialization.
122bf215546Sopenharmony_ci    MESON_TEST_ARGS: "--suite glcpp --suite gallium  --suite format"
123bf215546Sopenharmony_ci    # Freedreno dropped because freedreno tools fail at msan.
124bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus"
125bf215546Sopenharmony_ci    VULKAN_DRIVERS: intel,amd,broadcom,virtio-experimental
126bf215546Sopenharmony_ci
127bf215546Sopenharmony_cidebian-clover-testing:
128bf215546Sopenharmony_ci  extends:
129bf215546Sopenharmony_ci    - .meson-build
130bf215546Sopenharmony_ci    - .ci-deqp-artifacts
131bf215546Sopenharmony_ci  variables:
132bf215546Sopenharmony_ci    UNWIND: "enabled"
133bf215546Sopenharmony_ci    DRI_LOADERS: >
134bf215546Sopenharmony_ci      -D glx=disabled
135bf215546Sopenharmony_ci      -D egl=disabled
136bf215546Sopenharmony_ci      -D gbm=disabled
137bf215546Sopenharmony_ci    GALLIUM_ST: >
138bf215546Sopenharmony_ci      -D gallium-opencl=icd
139bf215546Sopenharmony_ci      -D opencl-spirv=true
140bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "swrast"
141bf215546Sopenharmony_ci    BUILDTYPE: "debugoptimized"
142bf215546Sopenharmony_ci    EXTRA_OPTION: >
143bf215546Sopenharmony_ci      -D valgrind=false
144bf215546Sopenharmony_ci  script:
145bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
146bf215546Sopenharmony_ci    - .gitlab-ci/prepare-artifacts.sh
147bf215546Sopenharmony_ci
148bf215546Sopenharmony_cidebian-gallium:
149bf215546Sopenharmony_ci  extends: .meson-build
150bf215546Sopenharmony_ci  variables:
151bf215546Sopenharmony_ci    UNWIND: "enabled"
152bf215546Sopenharmony_ci    DRI_LOADERS: >
153bf215546Sopenharmony_ci      -D glx=dri
154bf215546Sopenharmony_ci      -D gbm=enabled
155bf215546Sopenharmony_ci      -D egl=enabled
156bf215546Sopenharmony_ci      -D platforms=x11,wayland
157bf215546Sopenharmony_ci    GALLIUM_ST: >
158bf215546Sopenharmony_ci      -D dri3=enabled
159bf215546Sopenharmony_ci      -D gallium-extra-hud=true
160bf215546Sopenharmony_ci      -D gallium-vdpau=enabled
161bf215546Sopenharmony_ci      -D gallium-xvmc=enabled
162bf215546Sopenharmony_ci      -D gallium-omx=bellagio
163bf215546Sopenharmony_ci      -D gallium-va=enabled
164bf215546Sopenharmony_ci      -D gallium-xa=enabled
165bf215546Sopenharmony_ci      -D gallium-nine=true
166bf215546Sopenharmony_ci      -D gallium-opencl=disabled
167bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,asahi,crocus"
168bf215546Sopenharmony_ci    VULKAN_DRIVERS: swrast
169bf215546Sopenharmony_ci    EXTRA_OPTION: >
170bf215546Sopenharmony_ci      -D spirv-to-dxil=true
171bf215546Sopenharmony_ci      -D osmesa=true
172bf215546Sopenharmony_ci      -D tools=drm-shim,etnaviv,freedreno,glsl,intel,intel-ui,nir,nouveau,xvmc,lima,panfrost,asahi
173bf215546Sopenharmony_ci  script:
174bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
175bf215546Sopenharmony_ci    - .gitlab-ci/run-shader-db.sh
176bf215546Sopenharmony_ci
177bf215546Sopenharmony_ci# Test a release build with -Werror so new warnings don't sneak in.
178bf215546Sopenharmony_cidebian-release:
179bf215546Sopenharmony_ci  extends: .meson-build
180bf215546Sopenharmony_ci  variables:
181bf215546Sopenharmony_ci    UNWIND: "enabled"
182bf215546Sopenharmony_ci    DRI_LOADERS: >
183bf215546Sopenharmony_ci      -D glx=dri
184bf215546Sopenharmony_ci      -D gbm=enabled
185bf215546Sopenharmony_ci      -D egl=enabled
186bf215546Sopenharmony_ci      -D platforms=x11,wayland
187bf215546Sopenharmony_ci    GALLIUM_ST: >
188bf215546Sopenharmony_ci      -D dri3=enabled
189bf215546Sopenharmony_ci      -D gallium-extra-hud=true
190bf215546Sopenharmony_ci      -D gallium-vdpau=enabled
191bf215546Sopenharmony_ci      -D gallium-xvmc=disabled
192bf215546Sopenharmony_ci      -D gallium-omx=disabled
193bf215546Sopenharmony_ci      -D gallium-va=enabled
194bf215546Sopenharmony_ci      -D gallium-xa=enabled
195bf215546Sopenharmony_ci      -D gallium-nine=false
196bf215546Sopenharmony_ci      -D gallium-opencl=disabled
197bf215546Sopenharmony_ci      -D llvm=enabled
198bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "i915,iris,nouveau,kmsro,freedreno,r300,svga,swrast,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,crocus"
199bf215546Sopenharmony_ci    VULKAN_DRIVERS: "amd,imagination-experimental,microsoft-experimental"
200bf215546Sopenharmony_ci    BUILDTYPE: "release"
201bf215546Sopenharmony_ci    EXTRA_OPTION: >
202bf215546Sopenharmony_ci      -D spirv-to-dxil=true
203bf215546Sopenharmony_ci      -D osmesa=true
204bf215546Sopenharmony_ci      -D tools=all
205bf215546Sopenharmony_ci      -D intel-clc=enabled
206bf215546Sopenharmony_ci      -D imagination-srv=true
207bf215546Sopenharmony_ci  script:
208bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
209bf215546Sopenharmony_ci
210bf215546Sopenharmony_cifedora-release:
211bf215546Sopenharmony_ci  extends:
212bf215546Sopenharmony_ci    - .meson-build
213bf215546Sopenharmony_ci    - .use-fedora/x86_build
214bf215546Sopenharmony_ci  variables:
215bf215546Sopenharmony_ci    BUILDTYPE: "release"
216bf215546Sopenharmony_ci    C_ARGS: >
217bf215546Sopenharmony_ci      -Wno-error=array-bounds
218bf215546Sopenharmony_ci      -Wno-error=stringop-overread
219bf215546Sopenharmony_ci      -Wno-error=uninitialized
220bf215546Sopenharmony_ci    CPP_ARGS: >
221bf215546Sopenharmony_ci      -Wno-error=array-bounds
222bf215546Sopenharmony_ci    DRI_LOADERS: >
223bf215546Sopenharmony_ci      -D glx=dri
224bf215546Sopenharmony_ci      -D gbm=enabled
225bf215546Sopenharmony_ci      -D egl=enabled
226bf215546Sopenharmony_ci      -D glvnd=true
227bf215546Sopenharmony_ci      -D platforms=x11,wayland
228bf215546Sopenharmony_ci    EXTRA_OPTION: >
229bf215546Sopenharmony_ci      -D osmesa=true
230bf215546Sopenharmony_ci      -D selinux=true
231bf215546Sopenharmony_ci      -D tools=drm-shim,etnaviv,freedreno,glsl,intel,nir,nouveau,lima,panfrost,imagination
232bf215546Sopenharmony_ci      -D intel-clc=enabled
233bf215546Sopenharmony_ci      -D imagination-srv=true
234bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "crocus,etnaviv,freedreno,iris,kmsro,lima,nouveau,panfrost,r300,r600,radeonsi,svga,swrast,tegra,v3d,vc4,virgl,zink"
235bf215546Sopenharmony_ci    GALLIUM_ST: >
236bf215546Sopenharmony_ci      -D dri3=enabled
237bf215546Sopenharmony_ci      -D gallium-extra-hud=true
238bf215546Sopenharmony_ci      -D gallium-vdpau=enabled
239bf215546Sopenharmony_ci      -D gallium-xvmc=disabled
240bf215546Sopenharmony_ci      -D gallium-omx=disabled
241bf215546Sopenharmony_ci      -D gallium-va=enabled
242bf215546Sopenharmony_ci      -D gallium-xa=enabled
243bf215546Sopenharmony_ci      -D gallium-nine=false
244bf215546Sopenharmony_ci      -D gallium-opencl=icd
245bf215546Sopenharmony_ci      -D gles1=disabled
246bf215546Sopenharmony_ci      -D gles2=enabled
247bf215546Sopenharmony_ci      -D llvm=enabled
248bf215546Sopenharmony_ci      -D microsoft-clc=disabled
249bf215546Sopenharmony_ci      -D shared-llvm=enabled
250bf215546Sopenharmony_ci      -D vulkan-device-select-layer=true
251bf215546Sopenharmony_ci    LLVM_VERSION: ""
252bf215546Sopenharmony_ci    UNWIND: "disabled"
253bf215546Sopenharmony_ci    VULKAN_DRIVERS: "amd,broadcom,freedreno,intel,imagination-experimental"
254bf215546Sopenharmony_ci  script:
255bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
256bf215546Sopenharmony_ci
257bf215546Sopenharmony_cidebian-android:
258bf215546Sopenharmony_ci  extends:
259bf215546Sopenharmony_ci    - .meson-cross
260bf215546Sopenharmony_ci    - .use-debian/android_build
261bf215546Sopenharmony_ci  variables:
262bf215546Sopenharmony_ci    UNWIND: "disabled"
263bf215546Sopenharmony_ci    C_ARGS: >
264bf215546Sopenharmony_ci      -Wno-error=asm-operand-widths
265bf215546Sopenharmony_ci      -Wno-error=constant-conversion
266bf215546Sopenharmony_ci      -Wno-error=enum-conversion
267bf215546Sopenharmony_ci      -Wno-error=initializer-overrides
268bf215546Sopenharmony_ci      -Wno-error=missing-braces
269bf215546Sopenharmony_ci      -Wno-error=sometimes-uninitialized
270bf215546Sopenharmony_ci      -Wno-error=unused-function
271bf215546Sopenharmony_ci    CPP_ARGS: >
272bf215546Sopenharmony_ci      -Wno-error=deprecated-declarations
273bf215546Sopenharmony_ci    DRI_LOADERS: >
274bf215546Sopenharmony_ci      -D glx=disabled
275bf215546Sopenharmony_ci      -D gbm=disabled
276bf215546Sopenharmony_ci      -D egl=enabled
277bf215546Sopenharmony_ci      -D platforms=android
278bf215546Sopenharmony_ci    EXTRA_OPTION: >
279bf215546Sopenharmony_ci      -D android-stub=true
280bf215546Sopenharmony_ci      -D llvm=disabled
281bf215546Sopenharmony_ci      -D platform-sdk-version=29
282bf215546Sopenharmony_ci      -D valgrind=false
283bf215546Sopenharmony_ci    GALLIUM_ST: >
284bf215546Sopenharmony_ci      -D dri3=disabled
285bf215546Sopenharmony_ci      -D gallium-vdpau=disabled
286bf215546Sopenharmony_ci      -D gallium-xvmc=disabled
287bf215546Sopenharmony_ci      -D gallium-omx=disabled
288bf215546Sopenharmony_ci      -D gallium-va=disabled
289bf215546Sopenharmony_ci      -D gallium-xa=disabled
290bf215546Sopenharmony_ci      -D gallium-nine=false
291bf215546Sopenharmony_ci      -D gallium-opencl=disabled
292bf215546Sopenharmony_ci    LLVM_VERSION: ""
293bf215546Sopenharmony_ci    PKG_CONFIG_LIBDIR: "/disable/non/android/system/pc/files"
294bf215546Sopenharmony_ci  script:
295bf215546Sopenharmony_ci    - PKG_CONFIG_PATH=/usr/local/lib/aarch64-linux-android/pkgconfig/:/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/pkgconfig/ CROSS=aarch64-linux-android GALLIUM_DRIVERS=etnaviv,freedreno,lima,panfrost,vc4,v3d VULKAN_DRIVERS=freedreno,broadcom,virtio-experimental .gitlab-ci/meson/build.sh
296bf215546Sopenharmony_ci    # x86_64 build:
297bf215546Sopenharmony_ci    # Can't do Intel because gen_decoder.c currently requires libexpat, which
298bf215546Sopenharmony_ci    # is not a dependency that AOSP wants to accept.  Can't do Radeon Gallium
299bf215546Sopenharmony_ci    # drivers because they requires LLVM, which we don't have an Android build
300bf215546Sopenharmony_ci    # of.
301bf215546Sopenharmony_ci    - PKG_CONFIG_PATH=/usr/local/lib/x86_64-linux-android/pkgconfig/:/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/pkgconfig/ CROSS=x86_64-linux-android GALLIUM_DRIVERS=iris VULKAN_DRIVERS=amd,intel .gitlab-ci/meson/build.sh
302bf215546Sopenharmony_ci
303bf215546Sopenharmony_ci.meson-cross:
304bf215546Sopenharmony_ci  extends:
305bf215546Sopenharmony_ci    - .meson-build
306bf215546Sopenharmony_ci  stage: build-misc
307bf215546Sopenharmony_ci  variables:
308bf215546Sopenharmony_ci    UNWIND: "disabled"
309bf215546Sopenharmony_ci    DRI_LOADERS: >
310bf215546Sopenharmony_ci      -D glx=dri
311bf215546Sopenharmony_ci      -D gbm=enabled
312bf215546Sopenharmony_ci      -D egl=enabled
313bf215546Sopenharmony_ci      -D platforms=x11
314bf215546Sopenharmony_ci      -D osmesa=false
315bf215546Sopenharmony_ci    GALLIUM_ST: >
316bf215546Sopenharmony_ci      -D dri3=enabled
317bf215546Sopenharmony_ci      -D gallium-vdpau=disabled
318bf215546Sopenharmony_ci      -D gallium-xvmc=disabled
319bf215546Sopenharmony_ci      -D gallium-omx=disabled
320bf215546Sopenharmony_ci      -D gallium-va=disabled
321bf215546Sopenharmony_ci      -D gallium-xa=disabled
322bf215546Sopenharmony_ci      -D gallium-nine=false
323bf215546Sopenharmony_ci
324bf215546Sopenharmony_ci.meson-arm:
325bf215546Sopenharmony_ci  extends:
326bf215546Sopenharmony_ci    - .meson-cross
327bf215546Sopenharmony_ci    - .use-debian/arm_build
328bf215546Sopenharmony_ci  needs:
329bf215546Sopenharmony_ci    - debian/arm_build
330bf215546Sopenharmony_ci  variables:
331bf215546Sopenharmony_ci    VULKAN_DRIVERS: freedreno,broadcom
332bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4,zink"
333bf215546Sopenharmony_ci    BUILDTYPE: "debugoptimized"
334bf215546Sopenharmony_ci  tags:
335bf215546Sopenharmony_ci    - aarch64
336bf215546Sopenharmony_ci
337bf215546Sopenharmony_cidebian-armhf:
338bf215546Sopenharmony_ci  extends:
339bf215546Sopenharmony_ci    - .meson-arm
340bf215546Sopenharmony_ci    - .ci-deqp-artifacts
341bf215546Sopenharmony_ci  variables:
342bf215546Sopenharmony_ci    CROSS: armhf
343bf215546Sopenharmony_ci    EXTRA_OPTION: >
344bf215546Sopenharmony_ci      -D llvm=disabled
345bf215546Sopenharmony_ci      -D valgrind=false
346bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: mesa-armhf
347bf215546Sopenharmony_ci  script:
348bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
349bf215546Sopenharmony_ci    - .gitlab-ci/prepare-artifacts.sh
350bf215546Sopenharmony_ci
351bf215546Sopenharmony_cidebian-arm64:
352bf215546Sopenharmony_ci  extends:
353bf215546Sopenharmony_ci    - .meson-arm
354bf215546Sopenharmony_ci    - .ci-deqp-artifacts
355bf215546Sopenharmony_ci  variables:
356bf215546Sopenharmony_ci    VULKAN_DRIVERS: "freedreno,broadcom,panfrost,imagination-experimental"
357bf215546Sopenharmony_ci    EXTRA_OPTION: >
358bf215546Sopenharmony_ci      -D llvm=disabled
359bf215546Sopenharmony_ci      -D valgrind=false
360bf215546Sopenharmony_ci      -D imagination-srv=true
361bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: mesa-arm64
362bf215546Sopenharmony_ci  script:
363bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
364bf215546Sopenharmony_ci    - .gitlab-ci/prepare-artifacts.sh
365bf215546Sopenharmony_ci
366bf215546Sopenharmony_cidebian-arm64-asan:
367bf215546Sopenharmony_ci  extends:
368bf215546Sopenharmony_ci    - debian-arm64
369bf215546Sopenharmony_ci  variables:
370bf215546Sopenharmony_ci    C_ARGS: >
371bf215546Sopenharmony_ci      -Wno-error=stringop-truncation
372bf215546Sopenharmony_ci    EXTRA_OPTION: >
373bf215546Sopenharmony_ci      -D llvm=disabled
374bf215546Sopenharmony_ci      -D b_sanitize=address
375bf215546Sopenharmony_ci      -D valgrind=false
376bf215546Sopenharmony_ci      -D tools=dlclose-skip
377bf215546Sopenharmony_ci    ARTIFACTS_DEBUG_SYMBOLS: 1
378bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: mesa-arm64-asan
379bf215546Sopenharmony_ci    MESON_TEST_ARGS: "--no-suite mesa:compiler"
380bf215546Sopenharmony_ci
381bf215546Sopenharmony_cidebian-arm64-build-test:
382bf215546Sopenharmony_ci  extends:
383bf215546Sopenharmony_ci    - .meson-arm
384bf215546Sopenharmony_ci    - .ci-deqp-artifacts
385bf215546Sopenharmony_ci  variables:
386bf215546Sopenharmony_ci    VULKAN_DRIVERS: "amd"
387bf215546Sopenharmony_ci    EXTRA_OPTION: >
388bf215546Sopenharmony_ci      -Dtools=panfrost,imagination
389bf215546Sopenharmony_ci  script:
390bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
391bf215546Sopenharmony_ci
392bf215546Sopenharmony_cidebian-clang:
393bf215546Sopenharmony_ci  extends: .meson-build
394bf215546Sopenharmony_ci  variables:
395bf215546Sopenharmony_ci    UNWIND: "enabled"
396bf215546Sopenharmony_ci    C_ARGS: >
397bf215546Sopenharmony_ci      -Wno-error=constant-conversion
398bf215546Sopenharmony_ci      -Wno-error=enum-conversion
399bf215546Sopenharmony_ci      -Wno-error=implicit-const-int-float-conversion
400bf215546Sopenharmony_ci      -Wno-error=initializer-overrides
401bf215546Sopenharmony_ci      -Wno-error=sometimes-uninitialized
402bf215546Sopenharmony_ci      -Wno-error=unused-function
403bf215546Sopenharmony_ci    CPP_ARGS: >
404bf215546Sopenharmony_ci      -Wno-error=c99-designator
405bf215546Sopenharmony_ci      -Wno-error=deprecated-declarations
406bf215546Sopenharmony_ci      -Wno-error=implicit-const-int-float-conversion
407bf215546Sopenharmony_ci      -Wno-error=missing-braces
408bf215546Sopenharmony_ci      -Wno-error=overloaded-virtual
409bf215546Sopenharmony_ci      -Wno-error=tautological-constant-out-of-range-compare
410bf215546Sopenharmony_ci      -Wno-error=unused-const-variable
411bf215546Sopenharmony_ci      -Wno-error=unused-private-field
412bf215546Sopenharmony_ci    DRI_LOADERS: >
413bf215546Sopenharmony_ci      -D glvnd=true
414bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus,i915,asahi"
415bf215546Sopenharmony_ci    VULKAN_DRIVERS: intel,amd,freedreno,broadcom,virtio-experimental,swrast,panfrost,imagination-experimental,microsoft-experimental
416bf215546Sopenharmony_ci    EXTRA_OPTIONS:
417bf215546Sopenharmony_ci      -D spirv-to-dxil=true
418bf215546Sopenharmony_ci      -D imagination-srv=true
419bf215546Sopenharmony_ci    CC: clang
420bf215546Sopenharmony_ci    CXX: clang++
421bf215546Sopenharmony_ci
422bf215546Sopenharmony_ciwindows-vs2019:
423bf215546Sopenharmony_ci  extends:
424bf215546Sopenharmony_ci    - .build-windows
425bf215546Sopenharmony_ci    - .use-windows_build_vs2019
426bf215546Sopenharmony_ci    - .windows-build-rules
427bf215546Sopenharmony_ci  stage: build-misc
428bf215546Sopenharmony_ci  script:
429bf215546Sopenharmony_ci    - pwsh -ExecutionPolicy RemoteSigned .\.gitlab-ci\windows\mesa_build.ps1
430bf215546Sopenharmony_ci  artifacts:
431bf215546Sopenharmony_ci    paths:
432bf215546Sopenharmony_ci      - _build/meson-logs/*.txt
433bf215546Sopenharmony_ci      - _install/
434bf215546Sopenharmony_ci
435bf215546Sopenharmony_cidebian-clover:
436bf215546Sopenharmony_ci  extends: .meson-build
437bf215546Sopenharmony_ci  variables:
438bf215546Sopenharmony_ci    UNWIND: "enabled"
439bf215546Sopenharmony_ci    DRI_LOADERS: >
440bf215546Sopenharmony_ci      -D glx=disabled
441bf215546Sopenharmony_ci      -D egl=disabled
442bf215546Sopenharmony_ci      -D gbm=disabled
443bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "r600,radeonsi"
444bf215546Sopenharmony_ci    GALLIUM_ST: >
445bf215546Sopenharmony_ci      -D dri3=disabled
446bf215546Sopenharmony_ci      -D gallium-vdpau=disabled
447bf215546Sopenharmony_ci      -D gallium-xvmc=disabled
448bf215546Sopenharmony_ci      -D gallium-omx=disabled
449bf215546Sopenharmony_ci      -D gallium-va=disabled
450bf215546Sopenharmony_ci      -D gallium-xa=disabled
451bf215546Sopenharmony_ci      -D gallium-nine=false
452bf215546Sopenharmony_ci      -D gallium-opencl=icd
453bf215546Sopenharmony_ci    EXTRA_OPTION: >
454bf215546Sopenharmony_ci      -D valgrind=false
455bf215546Sopenharmony_ci  script:
456bf215546Sopenharmony_ci    - LLVM_VERSION=9 GALLIUM_DRIVERS=r600,swrast .gitlab-ci/meson/build.sh
457bf215546Sopenharmony_ci    - .gitlab-ci/meson/build.sh
458bf215546Sopenharmony_ci
459bf215546Sopenharmony_cidebian-vulkan:
460bf215546Sopenharmony_ci  extends: .meson-build
461bf215546Sopenharmony_ci  variables:
462bf215546Sopenharmony_ci    UNWIND: "disabled"
463bf215546Sopenharmony_ci    DRI_LOADERS: >
464bf215546Sopenharmony_ci      -D glx=disabled
465bf215546Sopenharmony_ci      -D gbm=disabled
466bf215546Sopenharmony_ci      -D egl=disabled
467bf215546Sopenharmony_ci      -D platforms=x11,wayland
468bf215546Sopenharmony_ci      -D osmesa=false
469bf215546Sopenharmony_ci    GALLIUM_ST: >
470bf215546Sopenharmony_ci      -D dri3=enabled
471bf215546Sopenharmony_ci      -D gallium-vdpau=disabled
472bf215546Sopenharmony_ci      -D gallium-xvmc=disabled
473bf215546Sopenharmony_ci      -D gallium-omx=disabled
474bf215546Sopenharmony_ci      -D gallium-va=disabled
475bf215546Sopenharmony_ci      -D gallium-xa=disabled
476bf215546Sopenharmony_ci      -D gallium-nine=false
477bf215546Sopenharmony_ci      -D gallium-opencl=disabled
478bf215546Sopenharmony_ci      -D b_sanitize=undefined
479bf215546Sopenharmony_ci      -D c_args=-fno-sanitize-recover=all
480bf215546Sopenharmony_ci      -D cpp_args=-fno-sanitize-recover=all
481bf215546Sopenharmony_ci    UBSAN_OPTIONS: "print_stacktrace=1"
482bf215546Sopenharmony_ci    VULKAN_DRIVERS: intel,amd,freedreno,broadcom,virtio-experimental,imagination-experimental,microsoft-experimental
483bf215546Sopenharmony_ci    EXTRA_OPTION: >
484bf215546Sopenharmony_ci      -D vulkan-layers=device-select,overlay
485bf215546Sopenharmony_ci      -D build-aco-tests=true
486bf215546Sopenharmony_ci      -D intel-clc=enabled
487bf215546Sopenharmony_ci      -D imagination-srv=true
488bf215546Sopenharmony_ci
489bf215546Sopenharmony_cidebian-i386:
490bf215546Sopenharmony_ci  extends:
491bf215546Sopenharmony_ci    - .meson-cross
492bf215546Sopenharmony_ci    - .use-debian/i386_build
493bf215546Sopenharmony_ci  variables:
494bf215546Sopenharmony_ci    CROSS: i386
495bf215546Sopenharmony_ci    VULKAN_DRIVERS: intel,amd,swrast,virtio-experimental
496bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "iris,nouveau,r300,r600,radeonsi,swrast,virgl,zink,crocus"
497bf215546Sopenharmony_ci    EXTRA_OPTION: >
498bf215546Sopenharmony_ci      -D vulkan-layers=device-select,overlay
499bf215546Sopenharmony_ci
500bf215546Sopenharmony_cidebian-s390x:
501bf215546Sopenharmony_ci  extends:
502bf215546Sopenharmony_ci    - debian-ppc64el
503bf215546Sopenharmony_ci    - .use-debian/s390x_build
504bf215546Sopenharmony_ci    - .s390x-rules
505bf215546Sopenharmony_ci  tags:
506bf215546Sopenharmony_ci    - kvm
507bf215546Sopenharmony_ci  variables:
508bf215546Sopenharmony_ci    CROSS: s390x
509bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "swrast,zink"
510bf215546Sopenharmony_ci    # The lp_test_blend test times out with LLVM 11
511bf215546Sopenharmony_ci    LLVM_VERSION: 9
512bf215546Sopenharmony_ci    VULKAN_DRIVERS: "swrast"
513bf215546Sopenharmony_ci
514bf215546Sopenharmony_cidebian-ppc64el:
515bf215546Sopenharmony_ci  extends:
516bf215546Sopenharmony_ci    - .meson-cross
517bf215546Sopenharmony_ci    - .use-debian/ppc64el_build
518bf215546Sopenharmony_ci    - .ppc64el-rules
519bf215546Sopenharmony_ci  variables:
520bf215546Sopenharmony_ci    CROSS: ppc64el
521bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl,zink"
522bf215546Sopenharmony_ci    VULKAN_DRIVERS: "amd,swrast"
523bf215546Sopenharmony_ci
524bf215546Sopenharmony_cidebian-mingw32-x86_64:
525bf215546Sopenharmony_ci  extends: .meson-build_mingw
526bf215546Sopenharmony_ci  stage: build-misc
527bf215546Sopenharmony_ci  variables:
528bf215546Sopenharmony_ci    UNWIND: "disabled"
529bf215546Sopenharmony_ci    C_ARGS: >
530bf215546Sopenharmony_ci      -Wno-error=format
531bf215546Sopenharmony_ci      -Wno-error=format-extra-args
532bf215546Sopenharmony_ci      -Wno-error=deprecated-declarations
533bf215546Sopenharmony_ci      -Wno-error=unused-function
534bf215546Sopenharmony_ci      -Wno-error=unused-variable
535bf215546Sopenharmony_ci      -Wno-error=unused-but-set-variable
536bf215546Sopenharmony_ci      -Wno-error=unused-value
537bf215546Sopenharmony_ci      -Wno-error=switch
538bf215546Sopenharmony_ci      -Wno-error=parentheses
539bf215546Sopenharmony_ci      -Wno-error=missing-prototypes
540bf215546Sopenharmony_ci      -Wno-error=sign-compare
541bf215546Sopenharmony_ci      -Wno-error=narrowing
542bf215546Sopenharmony_ci      -Wno-error=overflow
543bf215546Sopenharmony_ci    CPP_ARGS: $C_ARGS
544bf215546Sopenharmony_ci    GALLIUM_DRIVERS: "swrast,d3d12,zink"
545bf215546Sopenharmony_ci    VULKAN_DRIVERS: "swrast,amd,microsoft-experimental"
546bf215546Sopenharmony_ci    GALLIUM_ST: >
547bf215546Sopenharmony_ci      -D gallium-opencl=icd
548bf215546Sopenharmony_ci      -D opencl-native=false
549bf215546Sopenharmony_ci      -D opencl-spirv=true
550bf215546Sopenharmony_ci      -D microsoft-clc=enabled
551bf215546Sopenharmony_ci      -D static-libclc=all
552bf215546Sopenharmony_ci      -D llvm=enabled
553bf215546Sopenharmony_ci    EXTRA_OPTION: >
554bf215546Sopenharmony_ci      -D spirv-to-dxil=true
555bf215546Sopenharmony_ci      -D gles1=enabled
556bf215546Sopenharmony_ci      -D gles2=enabled
557bf215546Sopenharmony_ci      -D osmesa=true
558bf215546Sopenharmony_ci      -D cpp_rtti=true
559bf215546Sopenharmony_ci      -D shared-glapi=enabled
560bf215546Sopenharmony_ci      -D zlib=enabled
561bf215546Sopenharmony_ci      --cross-file=.gitlab-ci/x86_64-w64-mingw32
562