From cf64ca6a0c453485eea90063fe8155c5421cd41d Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Tue, 27 Dec 2022 17:50:01 +0100 Subject: [PATCH] ci: enable wayland platform in more debian builds CI has recently gained coverage of wayland platform in EGL tests, but some CI mesa builds such as arm builds currently don't enable the wayland platform. Enable it so test applications can properly initialize EGL with a wayland platform. Signed-off-by: Erico Nunes Reviewed-by: David Heidelberg Acked-by: Daniel Stone Part-of: --- .gitlab-ci/build/gitlab-ci.yml | 2 +- .gitlab-ci/container/build-wayland.sh | 5 +++-- .gitlab-ci/container/cross_build.sh | 5 ++++- .gitlab-ci/container/debian/arm_build.sh | 3 +++ .gitlab-ci/image-tags.yml | 2 +- src/broadcom/ci/deqp-broadcom-rpi3-egl.toml | 20 +++++++++++--------- src/broadcom/ci/deqp-broadcom-rpi4-egl.toml | 20 +++++++++++--------- src/freedreno/ci/freedreno-a630-fails.txt | 14 ++++---------- 8 files changed, 38 insertions(+), 33 deletions(-) diff --git a/.gitlab-ci/build/gitlab-ci.yml b/.gitlab-ci/build/gitlab-ci.yml index 11657d1572a..ad197f5de20 100644 --- a/.gitlab-ci/build/gitlab-ci.yml +++ b/.gitlab-ci/build/gitlab-ci.yml @@ -362,7 +362,7 @@ debian-android: -D glx=dri -D gbm=enabled -D egl=enabled - -D platforms=x11 + -D platforms=x11,wayland -D osmesa=false GALLIUM_ST: > -D dri3=enabled diff --git a/.gitlab-ci/container/build-wayland.sh b/.gitlab-ci/container/build-wayland.sh index 893ee058fb0..e296ac32b5d 100644 --- a/.gitlab-ci/container/build-wayland.sh +++ b/.gitlab-ci/container/build-wayland.sh @@ -1,4 +1,5 @@ #!/bin/bash +# shellcheck disable=SC2086 # we want word splitting set -ex @@ -8,7 +9,7 @@ export WAYLAND_PROTOCOLS_VERSION="1.24" git clone https://gitlab.freedesktop.org/wayland/wayland cd wayland git checkout "$LIBWAYLAND_VERSION" -meson -Ddocumentation=false -Ddtd_validation=false -Dlibraries=true _build +meson -Ddocumentation=false -Ddtd_validation=false -Dlibraries=true _build $EXTRA_MESON_ARGS ninja -C _build install cd .. rm -rf wayland @@ -16,7 +17,7 @@ rm -rf wayland git clone https://gitlab.freedesktop.org/wayland/wayland-protocols cd wayland-protocols git checkout "$WAYLAND_PROTOCOLS_VERSION" -meson _build +meson _build $EXTRA_MESON_ARGS ninja -C _build install cd .. rm -rf wayland-protocols diff --git a/.gitlab-ci/container/cross_build.sh b/.gitlab-ci/container/cross_build.sh index f0a27b4ee0f..5fff5ec4667 100644 --- a/.gitlab-ci/container/cross_build.sh +++ b/.gitlab-ci/container/cross_build.sh @@ -18,6 +18,7 @@ apt-get install -y --no-remove \ crossbuild-essential-$arch \ libelf-dev:$arch \ libexpat1-dev:$arch \ + libffi-dev:$arch \ libpciaccess-dev:$arch \ libstdc++6:$arch \ libvulkan-dev:$arch \ @@ -35,6 +36,7 @@ apt-get install -y --no-remove \ libxrandr-dev:$arch \ libxshmfence-dev:$arch \ libxxf86vm-dev:$arch \ + libwayland-dev:$arch \ wget if [[ $arch != "armhf" ]]; then @@ -50,7 +52,6 @@ if [[ $arch != "armhf" ]]; then # around this. apt-get install -y --no-remove --no-install-recommends \ libclang-cpp${LLVM}:$arch \ - libffi-dev:$arch \ libgcc-s1:$arch \ libtinfo-dev:$arch \ libz3-dev:$arch \ @@ -68,6 +69,8 @@ fi EXTRA_MESON_ARGS="--cross-file=/cross_file-${arch}.txt -D libdir=lib/$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH)" . .gitlab-ci/container/build-libdrm.sh +. .gitlab-ci/container/build-wayland.sh + apt-get purge -y \ $STABLE_EPHEMERAL diff --git a/.gitlab-ci/container/debian/arm_build.sh b/.gitlab-ci/container/debian/arm_build.sh index 14bb6c2ee8e..471a7224669 100644 --- a/.gitlab-ci/container/debian/arm_build.sh +++ b/.gitlab-ci/container/debian/arm_build.sh @@ -50,6 +50,7 @@ apt-get -y install \ libxrandr-dev \ libxshmfence-dev \ libxxf86vm-dev \ + libwayland-dev \ llvm-11-dev \ ninja-build \ pkg-config \ @@ -84,6 +85,8 @@ arch=armhf EXTRA_MESON_ARGS= . .gitlab-ci/container/build-libdrm.sh +. .gitlab-ci/container/build-wayland.sh + apt-get purge -y $STABLE_EPHEMERAL . .gitlab-ci/container/container_post_build.sh diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 9ddd9a6baf7..5d13f31b5ef 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -1,6 +1,6 @@ variables: DEBIAN_X86_BUILD_BASE_IMAGE: "debian/x86_build-base" - DEBIAN_BASE_TAG: "2023-01-04-crosvm-virglrenderer" + DEBIAN_BASE_TAG: "2023-01-05-libwayland" DEBIAN_X86_BUILD_IMAGE_PATH: "debian/x86_build" DEBIAN_BUILD_TAG: "2022-11-03-ci-fairy-s3" diff --git a/src/broadcom/ci/deqp-broadcom-rpi3-egl.toml b/src/broadcom/ci/deqp-broadcom-rpi3-egl.toml index 1d4d59362ce..d112b8cdcaa 100644 --- a/src/broadcom/ci/deqp-broadcom-rpi3-egl.toml +++ b/src/broadcom/ci/deqp-broadcom-rpi3-egl.toml @@ -8,12 +8,14 @@ deqp_args = [ "--deqp-gl-config-name=rgba8888d24s8ms0", ] -[[deqp]] -deqp = "/deqp/modules/egl/deqp-egl-wayland" -caselists = ["/deqp/mustpass/egl-master.txt"] -deqp_args = [ - "--deqp-surface-width=256", "--deqp-surface-height=256", - "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", - "--deqp-gl-config-name=rgba8888d24s8ms0", -] -prefix = "wayland-" +# Disabled due to timeouts since wayland platform was enabled +# See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20480#note_1702748 +#[[deqp]] +#deqp = "/deqp/modules/egl/deqp-egl-wayland" +#caselists = ["/deqp/mustpass/egl-master.txt"] +#deqp_args = [ +# "--deqp-surface-width=256", "--deqp-surface-height=256", +# "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", +# "--deqp-gl-config-name=rgba8888d24s8ms0", +#] +#prefix = "wayland-" diff --git a/src/broadcom/ci/deqp-broadcom-rpi4-egl.toml b/src/broadcom/ci/deqp-broadcom-rpi4-egl.toml index 1d4d59362ce..d112b8cdcaa 100644 --- a/src/broadcom/ci/deqp-broadcom-rpi4-egl.toml +++ b/src/broadcom/ci/deqp-broadcom-rpi4-egl.toml @@ -8,12 +8,14 @@ deqp_args = [ "--deqp-gl-config-name=rgba8888d24s8ms0", ] -[[deqp]] -deqp = "/deqp/modules/egl/deqp-egl-wayland" -caselists = ["/deqp/mustpass/egl-master.txt"] -deqp_args = [ - "--deqp-surface-width=256", "--deqp-surface-height=256", - "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", - "--deqp-gl-config-name=rgba8888d24s8ms0", -] -prefix = "wayland-" +# Disabled due to timeouts since wayland platform was enabled +# See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20480#note_1702748 +#[[deqp]] +#deqp = "/deqp/modules/egl/deqp-egl-wayland" +#caselists = ["/deqp/mustpass/egl-master.txt"] +#deqp_args = [ +# "--deqp-surface-width=256", "--deqp-surface-height=256", +# "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", +# "--deqp-gl-config-name=rgba8888d24s8ms0", +#] +#prefix = "wayland-" diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt index 605db20d5df..39828776a8a 100644 --- a/src/freedreno/ci/freedreno-a630-fails.txt +++ b/src/freedreno/ci/freedreno-a630-fails.txt @@ -460,16 +460,6 @@ gmem-dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind # https://gitlab.freedesktop.org/mesa/mesa/-/issues/7152 spec@ext_transform_feedback@builtin-varyings gl_culldistance,Fail -# EGL_BAD_DISPLAY is generated if display is not an EGL display connection -# eglCreatePixmapSurface(0, 0x0000000000000000, 0x0000000000000000, { EGL_NONE }); -# // 0x0000000000000000 returned -# eglCreatePixmapSurface(0xffffffffffffffff, 0x0000000000000000, 0x0000000000000000, { EGL_NONE }); -# // 0x0000000000000000 returned -# EGL_BAD_CONFIG or EGL_BAD_PARAMETER is generated if config is not an EGL frame buffer configuration or if the PixmapSurface call is not supported -# eglCreatePixmapSurface(0xaaab01f31100, 0xffffffffffffffff, 0x0000000000000000, { EGL_NONE }); -# // 0x0000000000000000 returned -# // ERROR expected: EGL_BAD_CONFIG or EGL_BAD_PARAMETER, Got: EGL_BAD_NATIVE_PIXMAP -wayland-dEQP-EGL.functional.negative_api.create_pixmap_surface,Fail # Excerpt: # Image comparison failed: reference = -0.000488281, expected = 0:0:0:0, result = 0:0:0:3 # Image comparison failed: reference = 0, expected = 0:0:0:0, result = 0:0:0:3 @@ -477,6 +467,10 @@ wayland-dEQP-EGL.functional.negative_api.create_pixmap_surface,Fail # Image comparison failed: reference = 0.000976562, expected = 1:1:0:0, result = 1:1:0:3 wayland-dEQP-EGL.functional.wide_color.pbuffer_888_colorspace_default,Fail +# Failing (Color test failed) since wayland platform was enabled in arm builds +wayland-dEQP-EGL.functional.wide_color.window_888_colorspace_default,Fail +wayland-dEQP-EGL.functional.wide_color.window_fp16_default_colorspace,Fail + # skqp failure: # SRGBReadWritePixels FAILED (7 errors) # ../../tests/SRGBReadWritePixelsTest.cpp:214 Could not create sRGB surface context. [OpenGL]