mirror of
https://gitlab.freedesktop.org/mesa/vulkan-wsi-layer.git
synced 2025-12-20 03:20:09 +01:00
Merge 'Fix a case where OOM condition was not checked' into 'main'
See merge request mesa/vulkan-wsi-layer!218
This commit is contained in:
commit
0866cfc352
3 changed files with 12 additions and 0 deletions
|
|
@ -202,6 +202,10 @@ VkResult swapchain::init_image_factory(const VkSwapchainCreateInfoKHR &swapchain
|
||||||
|
|
||||||
auto backing_memory_creator =
|
auto backing_memory_creator =
|
||||||
m_allocator.make_unique<external_image_backing_memory_creator>(m_device_data, *m_wsi_allocator, wsialloc_args);
|
m_allocator.make_unique<external_image_backing_memory_creator>(m_device_data, *m_wsi_allocator, wsialloc_args);
|
||||||
|
if (backing_memory_creator == nullptr)
|
||||||
|
{
|
||||||
|
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
m_image_factory.init(std::move(image_handle_creator), std::move(backing_memory_creator), true, true);
|
m_image_factory.init(std::move(image_handle_creator), std::move(backing_memory_creator), true, true);
|
||||||
return VK_SUCCESS;
|
return VK_SUCCESS;
|
||||||
|
|
|
||||||
|
|
@ -156,6 +156,10 @@ VkResult swapchain::init_image_factory(const VkSwapchainCreateInfoKHR &swapchain
|
||||||
auto image_handle_creator =
|
auto image_handle_creator =
|
||||||
std::get<util::unique_ptr<vulkan_image_handle_creator>>(std::move(image_handle_creator_result));
|
std::get<util::unique_ptr<vulkan_image_handle_creator>>(std::move(image_handle_creator_result));
|
||||||
auto backing_memory_creator = m_allocator.make_unique<device_backing_memory_creator>(m_device_data);
|
auto backing_memory_creator = m_allocator.make_unique<device_backing_memory_creator>(m_device_data);
|
||||||
|
if (backing_memory_creator == nullptr)
|
||||||
|
{
|
||||||
|
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
m_image_factory.init(std::move(image_handle_creator), std::move(backing_memory_creator), false, true);
|
m_image_factory.init(std::move(image_handle_creator), std::move(backing_memory_creator), false, true);
|
||||||
return VK_SUCCESS;
|
return VK_SUCCESS;
|
||||||
|
|
|
||||||
|
|
@ -272,6 +272,10 @@ VkResult swapchain::init_image_factory(const VkSwapchainCreateInfoKHR &swapchain
|
||||||
|
|
||||||
auto backing_memory_creator =
|
auto backing_memory_creator =
|
||||||
m_allocator.make_unique<external_image_backing_memory_creator>(m_device_data, *m_wsi_allocator, wsialloc_args);
|
m_allocator.make_unique<external_image_backing_memory_creator>(m_device_data, *m_wsi_allocator, wsialloc_args);
|
||||||
|
if (backing_memory_creator == nullptr)
|
||||||
|
{
|
||||||
|
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
m_image_factory.init(std::move(image_handle_creator), std::move(backing_memory_creator), true, false);
|
m_image_factory.init(std::move(image_handle_creator), std::move(backing_memory_creator), true, false);
|
||||||
return VK_SUCCESS;
|
return VK_SUCCESS;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue