#include "util/hash_table.h"
#include "vk_util.h"
-#include "wsi_common.h"
+#include "wsi_common_private.h"
#include "wsi_common_x11.h"
#include "wsi_common_queue.h"
XCB_PRESENT_EVENT_MASK_NO_EVENT);
xcb_discard_reply(chain->conn, cookie.sequence);
+ wsi_swapchain_finish(&chain->base);
+
vk_free(pAllocator, chain);
return VK_SUCCESS;
if (chain == NULL)
return VK_ERROR_OUT_OF_HOST_MEMORY;
- chain->base.device = device;
+ result = wsi_swapchain_init(wsi_device, &chain->base, device,
+ pCreateInfo, pAllocator);
+ if (result != VK_SUCCESS)
+ goto fail_alloc;
+
chain->base.destroy = x11_swapchain_destroy;
chain->base.get_images = x11_get_images;
chain->base.get_image_and_linear = x11_get_image_and_linear;
fail_register:
xcb_unregister_for_special_event(chain->conn, chain->special_event);
+ wsi_swapchain_finish(&chain->base);
+
+fail_alloc:
vk_free(pAllocator, chain);
return result;