Commit 12da5e75 by Yuly Novikov Committed by Commit Bot

Vulkan: use supported composite alpha

Try VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR first, if not supported, try VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR. Fail if it is not supported either. BUG=angleproject:2314 Change-Id: I875a60f7b51b9880da2d2916d602a6e7e8ca479f Reviewed-on: https://chromium-review.googlesource.com/882320 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 01b21b19
...@@ -322,6 +322,14 @@ vk::Error WindowSurfaceVk::initializeImpl(RendererVk *renderer) ...@@ -322,6 +322,14 @@ vk::Error WindowSurfaceVk::initializeImpl(RendererVk *renderer)
ANGLE_VK_CHECK(foundFormat, VK_ERROR_INITIALIZATION_FAILED); ANGLE_VK_CHECK(foundFormat, VK_ERROR_INITIALIZATION_FAILED);
} }
VkCompositeAlphaFlagBitsKHR compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
if ((surfaceCaps.supportedCompositeAlpha & compositeAlpha) == 0)
{
compositeAlpha = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
}
ANGLE_VK_CHECK((surfaceCaps.supportedCompositeAlpha & compositeAlpha) != 0,
VK_ERROR_INITIALIZATION_FAILED);
VkSwapchainCreateInfoKHR swapchainInfo; VkSwapchainCreateInfoKHR swapchainInfo;
swapchainInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; swapchainInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
swapchainInfo.pNext = nullptr; swapchainInfo.pNext = nullptr;
...@@ -339,7 +347,7 @@ vk::Error WindowSurfaceVk::initializeImpl(RendererVk *renderer) ...@@ -339,7 +347,7 @@ vk::Error WindowSurfaceVk::initializeImpl(RendererVk *renderer)
swapchainInfo.queueFamilyIndexCount = 0; swapchainInfo.queueFamilyIndexCount = 0;
swapchainInfo.pQueueFamilyIndices = nullptr; swapchainInfo.pQueueFamilyIndices = nullptr;
swapchainInfo.preTransform = preTransform; swapchainInfo.preTransform = preTransform;
swapchainInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; swapchainInfo.compositeAlpha = compositeAlpha;
swapchainInfo.presentMode = swapchainPresentMode; swapchainInfo.presentMode = swapchainPresentMode;
swapchainInfo.clipped = VK_TRUE; swapchainInfo.clipped = VK_TRUE;
swapchainInfo.oldSwapchain = VK_NULL_HANDLE; swapchainInfo.oldSwapchain = VK_NULL_HANDLE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment