diff options
| author | Vaxry <vaxry@vaxry.net> | 2023-11-30 01:18:55 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2023-11-30 01:18:55 +0000 |
| commit | d2c3b23ace745d3f79926c71d4cb3c481a394841 (patch) | |
| tree | 3859a21a16ef66b57150148520e074c6ba4fd3e5 /src/protocols/Screencopy.cpp | |
| parent | b80c72c7ddbf79147d64759c8659eb5939d0327e (diff) | |
deps: update wlroots
Diffstat (limited to 'src/protocols/Screencopy.cpp')
| -rw-r--r-- | src/protocols/Screencopy.cpp | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/src/protocols/Screencopy.cpp b/src/protocols/Screencopy.cpp index f0f0f69e..fdd89d30 100644 --- a/src/protocols/Screencopy.cpp +++ b/src/protocols/Screencopy.cpp @@ -424,23 +424,26 @@ void CScreencopyProtocolManager::sendFrameDamage(SScreencopyFrame* frame) { } bool CScreencopyProtocolManager::copyFrameShm(SScreencopyFrame* frame, timespec* now) { - void* data; - uint32_t format; - size_t stride; - if (!wlr_buffer_begin_data_ptr_access(frame->buffer, WLR_BUFFER_DATA_PTR_ACCESS_WRITE, &data, &format, &stride)) - return false; - - if (!wlr_renderer_begin_with_buffer(g_pCompositor->m_sWLRRenderer, m_pLastMonitorBackBuffer)) { - Debug::log(ERR, "[sc] shm: Client requested a copy to a buffer that failed to pass wlr_renderer_begin_with_buffer"); - wlr_buffer_end_data_ptr_access(frame->buffer); - return false; - } - - bool success = wlr_renderer_read_pixels(g_pCompositor->m_sWLRRenderer, format, stride, frame->box.width, frame->box.height, frame->box.x, frame->box.y, 0, 0, data); - wlr_renderer_end(g_pCompositor->m_sWLRRenderer); - wlr_buffer_end_data_ptr_access(frame->buffer); - - return success; + // void* data; + // uint32_t format; + // size_t stride; + // if (!wlr_buffer_begin_data_ptr_access(frame->buffer, WLR_BUFFER_DATA_PTR_ACCESS_WRITE, &data, &format, &stride)) + // return false; + + // if (!wlr_renderer_begin_with_buffer(g_pCompositor->m_sWLRRenderer, m_pLastMonitorBackBuffer)) { + // Debug::log(ERR, "[sc] shm: Client requested a copy to a buffer that failed to pass wlr_renderer_begin_with_buffer"); + // wlr_buffer_end_data_ptr_access(frame->buffer); + // return false; + // } + + // bool success = wlr_renderer_read_pixels(g_pCompositor->m_sWLRRenderer, format, stride, frame->box.width, frame->box.height, frame->box.x, frame->box.y, 0, 0, data); + // wlr_renderer_end(g_pCompositor->m_sWLRRenderer); + // wlr_buffer_end_data_ptr_access(frame->buffer); + + // return success; + + return false; // TODO: maybe fix this with the new rendering pipeline? + // though who tf isnt using dmabuf? } bool CScreencopyProtocolManager::copyFrameDmabuf(SScreencopyFrame* frame) { |
