mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-30 00:58:14 +02:00
Currently the wsi_headless_surface_create_swapchain() function abuses the corresponding destroy function to perform cleanup operations when any failure happens during images creation. This practice sounds fragile and prevents further changes to the swapchain creation procedure. Implement a proper cleanup sequence to reverse all operations. As another cleanup codepath above already contains call of vk_free(), the call is changed to a goto targetting the corresponding label. Regression tested with `dEQP-VK.wsi.headless.swapchain.simulate_oom.*` on RADV. Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40347> |
||
|---|---|---|
| .. | ||
| meson.build | ||
| wsi_common.c | ||
| wsi_common.h | ||
| wsi_common_display.c | ||
| wsi_common_display.h | ||
| wsi_common_drm.c | ||
| wsi_common_drm.h | ||
| wsi_common_headless.c | ||
| wsi_common_metal.c | ||
| wsi_common_metal_layer.h | ||
| wsi_common_metal_layer.m | ||
| wsi_common_private.h | ||
| wsi_common_queue.h | ||
| wsi_common_wayland.c | ||
| wsi_common_win32.cpp | ||
| wsi_common_x11.c | ||