summaryrefslogtreecommitdiff
path: root/src/protocols/core
diff options
context:
space:
mode:
authorUjinT34 <41110182+UjinT34@users.noreply.github.com>2026-01-22 18:16:52 +0300
committerGitHub <noreply@github.com>2026-01-22 15:16:52 +0000
commit82de66a030e6818ec3d21f49c8cdf9db31eebfa6 (patch)
tree352d8b7df616b4a8038d14b578fa74357cc425a1 /src/protocols/core
parent22fc8136a21676472b232f9462318e16b1d16745 (diff)
renderer: fix frame sync (#13061)
* fix commit timing timer * fix surface state lock/unlock * debug state sync todos * debug solitary vrr
Diffstat (limited to 'src/protocols/core')
-rw-r--r--src/protocols/core/Compositor.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp
index c897bfe8..9fc44703 100644
--- a/src/protocols/core/Compositor.cpp
+++ b/src/protocols/core/Compositor.cpp
@@ -506,13 +506,13 @@ void CWLSurfaceResource::scheduleState(WP<SSurfaceState> state) {
}
} else if (state->buffer && state->buffer->isSynchronous()) {
// synchronous (shm) buffers can be read immediately
- m_stateQueue.unlock(state);
+ m_stateQueue.unlock(state, LOCK_REASON_FENCE);
} else if (state->buffer && state->buffer->m_syncFd.isValid()) {
// async buffer and is dmabuf, then we can wait on implicit fences
g_pEventLoopManager->doOnReadable(std::move(state->buffer->m_syncFd), [state, whenReadable]() { whenReadable(state, LOCK_REASON_FENCE); });
} else {
// state commit without a buffer.
- m_stateQueue.unlock(state);
+ m_stateQueue.unlock(state, LOCK_REASON_FENCE);
}
}