Skip to content

wsi/x11: Fix potential deadlock in present ID.

Fix potential deadlock in present ID.

If we observe IDLE before COMPLETE, another queued image may have presented with present ID 0 which would break the check fixed in this commit. The original fix for present_id / signal_present_id split forgot to take this into account.

This is extremely unlikely to happen, but can be reproduced in vkd3d-proton under three conditions:

  • FIFO is used
  • Xwayland is used
  • imageCount = 3 in swapchain
  • SwapInterval of 4 is used. We will have one frame with present ID != 0, followed by 3 frames with present ID = 0.

Merge request reports