From 0f4123951599cfdc99b53cde6911990158151293 Mon Sep 17 00:00:00 2001 From: Xaver Hugl Date: Wed, 1 May 2024 21:24:37 +0200 Subject: [PATCH] waylandserver: set render backend for linuxdrmsyncobj directly The code would previously never set the render backend, causing the use of explicit sync to fail BUG: 486391 --- src/platformsupport/scenes/opengl/abstract_egl_backend.cpp | 4 ---- src/wayland_server.cpp | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/platformsupport/scenes/opengl/abstract_egl_backend.cpp b/src/platformsupport/scenes/opengl/abstract_egl_backend.cpp index 560a680eab..9ab2024924 100644 --- a/src/platformsupport/scenes/opengl/abstract_egl_backend.cpp +++ b/src/platformsupport/scenes/opengl/abstract_egl_backend.cpp @@ -192,11 +192,7 @@ void AbstractEglBackend::initWayland() LinuxDmaBufV1ClientBufferIntegration *dmabuf = waylandServer()->linuxDmabuf(); dmabuf->setRenderBackend(this); dmabuf->setSupportedFormatsWithModifiers(m_tranches); - if (auto syncObj = waylandServer()->linuxSyncObj()) { - syncObj->setRenderBackend(this); - } } - waylandServer()->setRenderBackend(this); } diff --git a/src/wayland_server.cpp b/src/wayland_server.cpp index 36c02cd3eb..eefdde86ff 100644 --- a/src/wayland_server.cpp +++ b/src/wayland_server.cpp @@ -855,6 +855,10 @@ void WaylandServer::setRenderBackend(RenderBackend *backend) } } else if (m_linuxDrmSyncObj) { m_linuxDrmSyncObj->remove(); + m_linuxDrmSyncObj = nullptr; + } + if (m_linuxDrmSyncObj) { + m_linuxDrmSyncObj->setRenderBackend(backend); } }