diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-04-12 21:40:51 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-04-12 21:40:51 +0100 |
| commit | a22e1174ee8b61bce400265206010cd52c5bace7 (patch) | |
| tree | d9fc484b058d3b22cb2e22f5c70a63dccbcf44b7 /src/protocols/Screencopy.hpp | |
| parent | 985764c8db01ff8f23461ed860eaacf3d52ee813 (diff) | |
screencopy: implement dmabuf
Diffstat (limited to 'src/protocols/Screencopy.hpp')
| -rw-r--r-- | src/protocols/Screencopy.hpp | 4 |
1 files changed, 4 insertions, 0 deletions
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<SScreencopyFrame*> 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); |
