Skip to content

wsi: Fix swapchain teardown causing hangs

The swapchain teardown waits for pending images incorrectly. The regression caused the wait to complete before pending images were processed as well as a hang when all images are acquired by the application or pending presentation. In this case the swapchain teardown would hang waiting on the last image presented by a compositor that would never be released.

Fixing this exposes additional hangs when swapchain images update the free semaphore after being marked as free. There are also potential hangs if multiple threads are waiting for all pending images or acquiring an image at the same time. These issues are addressed by serializing those actions with a mutex.

Change-Id: I266c93a61333d59823f404ea6ba19fb343f46a13 Signed-off-by: Rosen Zhelev rosen.zhelev@arm.com

Merge request reports