Disable the FIFO present thread implementation on Wayland by default
The FIFO implementation in the Wayland backend that uses the presentation thread is not technically Vulkan conformant. This commit enables a true FIFO implementation that is conformant to the Vulkan spec by blocking in the vkQueuePresent path. On Wayland this is achieved by having the main thread wait for the frame_done event to be sent by the compositor. This was already used in FIFO before but previously it would be the presentation thread that would block. This implementation is now used by default.
The downside of this approach is that it has a significant performance impact due to blocking the main thread.
Users wishing to continue using the presentation thread
implementation to achieve better performance can still do so through
a new build option ENABLE_WAYLAND_FIFO_PRESENTATION_THREAD
.
The README has also been updated to document the FIFO shortcomings.
Signed-off-by: Dennis Tsiang dennis.tsiang@arm.com Change-Id: I8674f9ea330a45f97d32024f97057ffc25c76c7a