Revert "syncobj: wait for deadline instead of available"

This reverts commit cf6a1716ae.

Fixes #7628
This commit is contained in:
Vaxry 2024-09-03 14:47:34 +02:00
parent 8f9887b0c9
commit 9b54342baa

View file

@ -58,8 +58,8 @@ CDRMSyncobjSurfaceResource::CDRMSyncobjSurfaceResource(SP<CWpLinuxDrmSyncobjSurf
if (!pending.acquireTimeline) if (!pending.acquireTimeline)
return; return;
// wait for the buffer to be released by the gpu before sending a commit to avoid lagging the desktop // wait for the acquire timeline to materialize
auto materialized = pending.acquireTimeline->timeline->check(pending.acquirePoint, DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE); auto materialized = pending.acquireTimeline->timeline->check(pending.acquirePoint, DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE);
if (!materialized.has_value()) { if (!materialized.has_value()) {
LOGM(ERR, "Failed to check the acquire timeline"); LOGM(ERR, "Failed to check the acquire timeline");
resource->noMemory(); resource->noMemory();
@ -70,7 +70,7 @@ CDRMSyncobjSurfaceResource::CDRMSyncobjSurfaceResource(SP<CWpLinuxDrmSyncobjSurf
return; return;
surface->lockPendingState(); surface->lockPendingState();
pending.acquireTimeline->timeline->addWaiter([this]() { surface->unlockPendingState(); }, pending.acquirePoint, DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE); pending.acquireTimeline->timeline->addWaiter([this]() { surface->unlockPendingState(); }, pending.acquirePoint, DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE);
}); });
listeners.surfaceCommit = surface->events.roleCommit.registerListener([this](std::any d) { listeners.surfaceCommit = surface->events.roleCommit.registerListener([this](std::any d) {