fifo: miscellaneous fifo fixes (#13136)
* LOGM: clang-tidy fix * fix fifo state and scheduling * disable fifo_pending_workaround by default * fix tearing * fix "empty" commit skipping
This commit is contained in:
parent
cd7bdc7a43
commit
1bc857b12c
9 changed files with 82 additions and 47 deletions
|
|
@ -517,6 +517,15 @@ void CWLSurfaceResource::scheduleState(WP<SSurfaceState> state) {
|
|||
}
|
||||
|
||||
void CWLSurfaceResource::commitState(SSurfaceState& state) {
|
||||
// TODO might be incorrect. needed for VRR with FIFO to avoid same buffer extra frames for second commit when it's used in this way:
|
||||
// wp_fifo_v1#43.set_barrier()
|
||||
// wp_fifo_v1#43.wait_barrier()
|
||||
// wl_surface#3.commit()
|
||||
// wp_fifo_v1#43.wait_barrier()
|
||||
// wl_surface#3.commit()
|
||||
if (!state.updated.all && m_mapped && state.fifoScheduled)
|
||||
return;
|
||||
|
||||
auto lastTexture = m_current.texture;
|
||||
m_current.updateFrom(state);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue