environment: BUILD_SUBMITTER: dalligi CI: "true" CI_API_GRAPHQL_URL: https://gitlab.freedesktop.org/api/graphql CI_API_V4_URL: https://gitlab.freedesktop.org/api/v4 CI_COMMIT_AUTHOR: Simon Ser CI_COMMIT_BEFORE_SHA: 2424b1ecddd78e6a18ebfb31ac3bbac52e4dcc0c CI_COMMIT_BRANCH: master CI_COMMIT_DESCRIPTION: |4- Fixes on-screen corruption when displaying a fullscreen client with an implicit modifier on the secondary GPU. What happens here: - Client allocates a buffer with an INVALID modifier on primary GPU. - Compositor attempts to scan-out this buffer on an output connected to secondary GPU. - Buffer is imported to secondary GPU, and is interpreted as if it had the secondary GPU's implicit tiling, even though it has the primary GPU's implicit tiling. We need to forbid cross-device imports with implicit modifiers. The mgpu_formats list is stripped from any INVALID modifier so checking that fixes the bug. Using the mgpu_formats list has an additional benefit: the buffer is rejected in the test commit if it doesn't have a format supported by the multi-GPU renderer. Requires this Mesa bugfix: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31725 CI_COMMIT_MESSAGE: | backend/drm: check buffer format for multi-GPU Fixes on-screen corruption when displaying a fullscreen client with an implicit modifier on the secondary GPU. What happens here: - Client allocates a buffer with an INVALID modifier on primary GPU. - Compositor attempts to scan-out this buffer on an output connected to secondary GPU. - Buffer is imported to secondary GPU, and is interpreted as if it had the secondary GPU's implicit tiling, even though it has the primary GPU's implicit tiling. We need to forbid cross-device imports with implicit modifiers. The mgpu_formats list is stripped from any INVALID modifier so checking that fixes the bug. Using the mgpu_formats list has an additional benefit: the buffer is rejected in the test commit if it doesn't have a format supported by the multi-GPU renderer. Requires this Mesa bugfix: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31725 CI_COMMIT_REF_NAME: master CI_COMMIT_REF_PROTECTED: "true" CI_COMMIT_REF_SLUG: master CI_COMMIT_SHA: c6dd5e3c2ef82ddba4d1877498f594ceeffb3939 CI_COMMIT_SHORT_SHA: c6dd5e3c CI_COMMIT_TIMESTAMP: "2024-11-28T20:27:48+01:00" CI_COMMIT_TITLE: 'backend/drm: check buffer format for multi-GPU' CI_CONFIG_PATH: .gitlab-ci.yml CI_DEFAULT_BRANCH: master CI_JOB_ID: "67395820" CI_JOB_NAME: freebsd CI_JOB_NAME_SLUG: freebsd CI_JOB_STAGE: test CI_JOB_STARTED_AT: "2024-11-28T20:00:56Z" CI_JOB_URL: https://gitlab.freedesktop.org/wlroots/wlroots/-/jobs/67395820 CI_NODE_TOTAL: "1" CI_PAGES_DOMAIN: pages.freedesktop.org CI_PAGES_URL: https://wlroots.pages.freedesktop.org/wlroots CI_PIPELINE_CREATED_AT: "2024-11-28T20:00:41Z" CI_PIPELINE_ID: "1319558" CI_PIPELINE_IID: "1430" CI_PIPELINE_NAME: "" CI_PIPELINE_SOURCE: push CI_PIPELINE_URL: https://gitlab.freedesktop.org/wlroots/wlroots/-/pipelines/1319558 CI_PROJECT_CLASSIFICATION_LABEL: "" CI_PROJECT_DESCRIPTION: A modular Wayland compositor library CI_PROJECT_ID: "12103" CI_PROJECT_NAME: wlroots CI_PROJECT_NAMESPACE: wlroots CI_PROJECT_NAMESPACE_ID: "9759" CI_PROJECT_PATH: wlroots/wlroots CI_PROJECT_PATH_SLUG: wlroots-wlroots CI_PROJECT_REPOSITORY_LANGUAGES: c,meson,glsl,makefile,shell CI_PROJECT_ROOT_NAMESPACE: wlroots CI_PROJECT_TITLE: wlroots CI_PROJECT_URL: https://gitlab.freedesktop.org/wlroots/wlroots CI_PROJECT_VISIBILITY: public CI_REGISTRY: registry.freedesktop.org CI_REGISTRY_USER: gitlab-ci-token CI_RUNNER_DESCRIPTION: dalligi SourceHut bridge CI_RUNNER_ID: "2241" CI_RUNNER_TAGS: '["dalligi"]' CI_SERVER_FQDN: gitlab.freedesktop.org CI_SERVER_HOST: gitlab.freedesktop.org CI_SERVER_NAME: GitLab CI_SERVER_PORT: "443" CI_SERVER_PROTOCOL: https CI_SERVER_REVISION: e8dca573167 CI_SERVER_SHELL_SSH_HOST: gitlab.freedesktop.org CI_SERVER_SHELL_SSH_PORT: "22" CI_SERVER_URL: https://gitlab.freedesktop.org CI_SERVER_VERSION: 17.5.1 CI_SERVER_VERSION_MAJOR: "17" CI_SERVER_VERSION_MINOR: "5" CI_SERVER_VERSION_PATCH: "1" CI_TEMPLATE_REGISTRY_HOST: registry.gitlab.com GITLAB_CI: "true" GITLAB_FEATURES: "" GITLAB_USER_EMAIL: alex@ozal.ski GITLAB_USER_ID: "37800" GITLAB_USER_LOGIN: Nefsen402 GITLAB_USER_NAME: Alexander Orzechowski image: freebsd/latest packages: - devel/evdev-proto - devel/libudev-devd - devel/meson - devel/pkgconf - graphics/glslang - graphics/lcms2 - graphics/libdrm - graphics/libliftoff - graphics/mesa-libs - graphics/vulkan-headers - graphics/vulkan-loader - graphics/wayland - graphics/wayland-protocols - x11/libinput - x11/libxcb - x11/libxkbcommon - x11/pixman - x11/xcb-util-errors - x11/xcb-util-renderutil - x11/xcb-util-wm - x11-servers/xwayland - sysutils/libdisplay-info - sysutils/seatd - hwdata sources: - https://gitlab-ci-token:glcbt-64_SHgNbaZBMcqpyrRgDCd2@gitlab.freedesktop.org/wlroots/wlroots.git#c6dd5e3c2ef82ddba4d1877498f594ceeffb3939 tasks: - wlroots: | cd wlroots meson setup build --fatal-meson-warnings -Dauto_features=enabled ninja -C build sudo ninja -C build install - tinywl: | cd wlroots/tinywl make