diff --git a/patches/backend-drm-add-support-for-libliftoff-v0.5.0.patch b/patches/backend-drm-add-support-for-libliftoff-v0.5.0.patch new file mode 100644 index 00000000..a557d913 --- /dev/null +++ b/patches/backend-drm-add-support-for-libliftoff-v0.5.0.patch @@ -0,0 +1,51 @@ +From 8b1628adcf530fd5396f62479175e486126efc7c Mon Sep 17 00:00:00 2001 +From: Simon Ser +Date: Tue, 28 May 2024 00:30:33 +0200 +Subject: [PATCH] backend/drm: add support for libliftoff v0.5.0 + +Don't require libliftoff 0.5.0 just yet: we want to be able to +backport this patch. +--- + backend/drm/libliftoff.c | 5 +++++ + backend/drm/meson.build | 1 + + 2 files changed, 6 insertions(+) + +diff --git a/backend/drm/libliftoff.c b/backend/drm/libliftoff.c +index c88e1bcee0..74d4f76963 100644 +--- a/backend/drm/libliftoff.c ++++ b/backend/drm/libliftoff.c +@@ -8,6 +8,7 @@ + #include "backend/drm/drm.h" + #include "backend/drm/fb.h" + #include "backend/drm/iface.h" ++#include "config.h" + + static bool init(struct wlr_drm_backend *drm) { + // TODO: lower log level +@@ -407,7 +408,11 @@ static bool commit(struct wlr_drm_backend *drm, + struct wlr_drm_connector *conn = state->connectors[i].connector; + struct wlr_drm_crtc *crtc = conn->crtc; + ++#if HAVE_LIBLIFTOFF_0_5 ++ int ret = liftoff_output_apply(crtc->liftoff, req, flags, NULL); ++#else + int ret = liftoff_output_apply(crtc->liftoff, req, flags); ++#endif + if (ret != 0) { + wlr_drm_conn_log(conn, test_only ? WLR_DEBUG : WLR_ERROR, + "liftoff_output_apply failed: %s", strerror(-ret)); +diff --git a/backend/drm/meson.build b/backend/drm/meson.build +index 5d2f2b1f8c..7c00b0f085 100644 +--- a/backend/drm/meson.build ++++ b/backend/drm/meson.build +@@ -48,6 +48,7 @@ wlr_files += files( + + if libliftoff.found() + wlr_files += files('libliftoff.c') ++ internal_config.set10('HAVE_LIBLIFTOFF_0_5', libliftoff.version().version_compare('>=0.5.0')) + endif + + features += { 'drm-backend': true } +-- +GitLab +