From a22e1174ee8b61bce400265206010cd52c5bace7 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Wed, 12 Apr 2023 21:40:51 +0100 Subject: screencopy: implement dmabuf --- src/protocols/Screencopy.hpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/protocols/Screencopy.hpp') diff --git a/src/protocols/Screencopy.hpp b/src/protocols/Screencopy.hpp index d854c3bd..77d2b5c3 100644 --- a/src/protocols/Screencopy.hpp +++ b/src/protocols/Screencopy.hpp @@ -54,6 +54,7 @@ class CScreencopyProtocolManager { void copyFrame(wl_client* client, wl_resource* resource, wl_resource* buffer); void onRenderEnd(CMonitor* pMonitor); + void onOutputCommit(CMonitor* pMonitor, wlr_output_event_commit* e); private: wl_global* m_pGlobal = nullptr; @@ -64,6 +65,9 @@ class CScreencopyProtocolManager { std::vector m_vFramesAwaitingWrite; + wlr_buffer* m_pLastMonitorBackBuffer = nullptr; + + void shareAllFrames(CMonitor* pMonitor, bool dmabuf); void shareFrame(SScreencopyFrame* frame); void sendFrameDamage(SScreencopyFrame* frame); bool copyFrameDmabuf(SScreencopyFrame* frame); -- cgit v1.2.3