vulkan-wsi-layer/wsi
Dennis Tsiang 0c7dcc9be9 Fix bug in has_descendant_started_presenting in headless backend
If there exists two swapchains where one is a descendant of another, we
need to return VK_ERROR_OUT_OF_DATE_KHR error if the application tries
to present from the ancestor when the descendant has started presenting.

The has_descendant_started_presenting() function checks whether the
descendant has started presenting by looking for pending images in the
descendant's list of swapchain images. However, the descendant could
have already presented its pending image(s) before the ancestor arrives
at this check. In this scenario, the descendant will have marked the
swapchain image(s) as now free, and therefore when the ancestor looks
for pending images it will fail to find any. This causes the function to
incorrectly return false.

This bug can be resolved by creating a new boolean member variable to
track whether the swapchain has started presenting.

Change-Id: Ibc3399a4bb05f89940f0b595d25aa07b8e2a2cb8
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
Signed-off-by: Normunds Rieksts <normunds.rieksts@arm.com>
2021-12-06 13:06:33 +00:00
..
headless Store enabled instance and device extensions 2021-11-17 11:51:30 +00:00
wayland Check for required protocols in vkGetPhysicalDeviceWaylandPresentationSupportKHR 2021-12-02 14:26:45 +00:00
surface.hpp Fix formatting issues 2021-10-29 08:51:25 +00:00
surface_properties.hpp Store enabled instance and device extensions 2021-11-17 11:51:30 +00:00
swapchain_base.cpp Fix bug in has_descendant_started_presenting in headless backend 2021-12-06 13:06:33 +00:00
swapchain_base.hpp Fix bug in has_descendant_started_presenting in headless backend 2021-12-06 13:06:33 +00:00
synchronization.cpp Update code to use modern c++ style 2021-11-11 10:15:22 +00:00
synchronization.hpp Fix formatting issues 2021-10-29 08:51:25 +00:00
wsi_factory.cpp Store enabled instance and device extensions 2021-11-17 11:51:30 +00:00
wsi_factory.hpp Store enabled instance and device extensions 2021-11-17 11:51:30 +00:00