From d1ed14536fd2a33d99927fde37ae6fb1cbd062d6 Mon Sep 17 00:00:00 2001 From: Markus Volk Date: Thu, 30 May 2024 23:54:45 +0200 Subject: [PATCH] wlroots: add support for libliftoff 0.5.0 Add a merge request from upstream to support libliftoff 0.5.0 --- recipes-wlroots/wlroots/wlroots-0.17.bb | 1 + ...rm-add-support-for-libliftoff-v0.5.0.patch | 51 +++++++++++++++++++ ...rm-add-support-for-libliftoff-v0.5.0.patch | 51 +++++++++++++++++++ recipes-wlroots/wlroots/wlroots_git.bb | 1 + 4 files changed, 104 insertions(+) create mode 100644 recipes-wlroots/wlroots/wlroots-0.17/backend-drm-add-support-for-libliftoff-v0.5.0.patch create mode 100644 recipes-wlroots/wlroots/wlroots/backend-drm-add-support-for-libliftoff-v0.5.0.patch diff --git a/recipes-wlroots/wlroots/wlroots-0.17.bb b/recipes-wlroots/wlroots/wlroots-0.17.bb index 636dfe3..e86a3d0 100644 --- a/recipes-wlroots/wlroots/wlroots-0.17.bb +++ b/recipes-wlroots/wlroots/wlroots-0.17.bb @@ -39,6 +39,7 @@ PACKAGECONFIG ?= " \ " SRC_URI = "git://gitlab.freedesktop.org/wlroots/wlroots.git;branch=0.17;protocol=https" +SRC_URI += "file://backend-drm-add-support-for-libliftoff-v0.5.0.patch" SRCREV = "bc73e507abd1e8319353a8601f1f8ebfe17307ee" PV = "0.17.3" diff --git a/recipes-wlroots/wlroots/wlroots-0.17/backend-drm-add-support-for-libliftoff-v0.5.0.patch b/recipes-wlroots/wlroots/wlroots-0.17/backend-drm-add-support-for-libliftoff-v0.5.0.patch new file mode 100644 index 0000000..7733ceb --- /dev/null +++ b/recipes-wlroots/wlroots/wlroots-0.17/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 a3b61540..12dd8fdb 100644 +--- a/backend/drm/libliftoff.c ++++ b/backend/drm/libliftoff.c +@@ -7,6 +7,7 @@ + + #include "backend/drm/drm.h" + #include "backend/drm/iface.h" ++#include "config.h" + + static bool init(struct wlr_drm_backend *drm) { + // TODO: lower log level +@@ -436,7 +437,11 @@ static bool crtc_commit(struct wlr_drm_connector *conn, + goto out; + } + ++#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 + diff --git a/recipes-wlroots/wlroots/wlroots/backend-drm-add-support-for-libliftoff-v0.5.0.patch b/recipes-wlroots/wlroots/wlroots/backend-drm-add-support-for-libliftoff-v0.5.0.patch new file mode 100644 index 0000000..a557d91 --- /dev/null +++ b/recipes-wlroots/wlroots/wlroots/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 + diff --git a/recipes-wlroots/wlroots/wlroots_git.bb b/recipes-wlroots/wlroots/wlroots_git.bb index f48bd22..c716fff 100644 --- a/recipes-wlroots/wlroots/wlroots_git.bb +++ b/recipes-wlroots/wlroots/wlroots_git.bb @@ -39,6 +39,7 @@ PACKAGECONFIG ?= " \ " SRC_URI = "git://gitlab.freedesktop.org/wlroots/wlroots.git;branch=master;protocol=https" +SRC_URI += "file://backend-drm-add-support-for-libliftoff-v0.5.0.patch" SRCREV = "56ebfde540da9631548773baba87beb716660322" PV = "0.18.0-dev"