toplevelexport: support dmabuf + various fixes

This commit is contained in:
vaxerski
2023-07-20 12:42:25 +02:00
parent 3a1496b4eb
commit b65adf8d4a
6 changed files with 55 additions and 21 deletions

View File

@@ -22,6 +22,7 @@ class CToplevelExportProtocolManager {
void copyFrame(wl_client* client, wl_resource* resource, wl_resource* buffer, int32_t ignore_damage);
void displayDestroy();
void onWindowUnmap(CWindow* pWindow);
void onOutputCommit(CMonitor* pMonitor, wlr_output_event_commit* e);
private:
wl_global* m_pGlobal = nullptr;
@@ -33,10 +34,9 @@ class CToplevelExportProtocolManager {
std::vector<SScreencopyFrame*> m_vFramesAwaitingWrite;
void shareFrame(SScreencopyFrame* frame);
bool copyFrameDmabuf(SScreencopyFrame* frame);
bool copyFrameDmabuf(SScreencopyFrame* frame, timespec* now);
bool copyFrameShm(SScreencopyFrame* frame, timespec* now);
void onMonitorRender(CMonitor* pMonitor);
void sendDamage(SScreencopyFrame* frame);
friend class CScreencopyClient;
};