Remove destroy_image from unpresent function
authorIason Paraskevopoulos <iason.paraskevopoulos@arm.com>
Mon, 27 Sep 2021 08:34:04 +0000 (09:34 +0100)
committerIason Paraskevopoulos <iason.paraskevopoulos@arm.com>
Tue, 5 Oct 2021 14:48:09 +0000 (14:48 +0000)
commitba54f0e9ca6c6edf09b8d1dba2507a4a8d0533f1
treed60427f547913a1eba91c6c8295fab77f9ba4d53
parentb4db2258abda037fa39296bd19bfb96ffe4e72f5
Remove destroy_image from unpresent function

Fixes an issue, where in Wayland the new swapchain hanged during its
first image presentation in the page flipping thread when it waited for
the old swapchain to finish presenting its pending images. As the new
swapchain had started presenting destroy_image was called during the
unpresent function for the old swapchain and the image's status was set
to INVALID instead of FREE. So free_image_found never returned true and
subsequently get_free_buffer was blocked in the loop. The issue is fixed
by removing the call to destroy_image in unpresent_image as it is
redundant and is done in swapchain teardown.

Change-Id: I192607f50eb5e5f0e4e9baf66aedf02221f20b63
Signed-off-by: Iason Paraskevopoulos <iason.paraskevopoulos@arm.com>
wsi/swapchain_base.cpp