swapchain::swapchain(layer::device_private_data &dev_data, const VkAllocationCallbacks *pAllocator)
: wsi::swapchain_base(dev_data, pAllocator)
+ , m_image_create_info()
{
}
VkResult swapchain::create_aliased_image_handle(const VkImageCreateInfo *image_create_info, VkImage *image)
{
- return m_device_data.disp.CreateImage(m_device, image_create_info, get_allocation_callbacks(), image);
+ return m_device_data.disp.CreateImage(m_device, &m_image_create_info, get_allocation_callbacks(), image);
}
VkResult swapchain::create_and_bind_swapchain_image(VkImageCreateInfo image_create, wsi::swapchain_image &image)
VkResult res = VK_SUCCESS;
const std::lock_guard<std::recursive_mutex> lock(m_image_status_mutex);
+ m_image_create_info = image_create;
res = m_device_data.disp.CreateImage(m_device, &image_create, get_allocation_callbacks(), &image.image);
if (res != VK_SUCCESS)
{
*/
VkResult bind_swapchain_image(VkDevice &device, const VkBindImageMemoryInfo *bind_image_mem_info,
const VkBindImageMemorySwapchainInfoKHR *bind_sc_info) override;
+
+private:
+ /**
+ * @brief Image creation info used for all swapchain images.
+ */
+ VkImageCreateInfo m_image_create_info;
};
} /* namespace headless */