Skip to content

wayland: Desynchronize transactions of the same client + Fix TransactionDmaBufLocker lifetime

Vlad Zahorodnii requested to merge work/zzag/transaction-option-b into master

At the moment transactions from the same client are applied in the commit order even if the trasactions affect unrelated surfaces.

This patch desynchronizes transactions affecting unrelated surfaces.

With this, if a client updates two surfaces (as an example, Firefox with two windows) and one of its surfaces takes longer to render, the other surface is not going to be slowed down.

Another nice thing is that it removes client from Transaction, which might be potentially useful to the Workspace for coordinated resize or something.


If the transaction entry is removed, the graphics buffer reference will be dropped and it's possible that the TransactionDmaBufLocker is going to be destroyed as well.

If that happens, the transaction may remain in the locked state.

Merge request reports

Loading