Commit 0dc6825f authored by Michael Spang's avatar Michael Spang Committed by Commit Bot

vulkan: Check present support to surface during init

The validation layer requires a call to
vkGetPhysicalDeviceSurfaceSupportKHR() even if support was already
verified via vkGetPhysicalDeviceXlibPresentationSupportKHR().

Bug: 840470
Test: Run vulkan_tests on linux with nvidia GPU

Change-Id: I4005e8ef9584a8d413a39882c374c7bc5ab5416b
Reviewed-on: https://chromium-review.googlesource.com/1053989
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558458}
parent 0fc30312
...@@ -72,6 +72,21 @@ class VulkanWSISurface : public VulkanSurface { ...@@ -72,6 +72,21 @@ class VulkanWSISurface : public VulkanSurface {
#endif #endif
DCHECK_NE(static_cast<VkSurfaceKHR>(VK_NULL_HANDLE), surface_); DCHECK_NE(static_cast<VkSurfaceKHR>(VK_NULL_HANDLE), surface_);
VkBool32 present_support;
if (vkGetPhysicalDeviceSurfaceSupportKHR(
device_queue->GetVulkanPhysicalDevice(),
device_queue->GetVulkanQueueIndex(), surface_,
&present_support) != VK_SUCCESS) {
DLOG(ERROR) << "vkGetPhysicalDeviceSurfaceSupportKHR() failed: "
<< result;
return false;
}
if (!present_support) {
DLOG(ERROR) << "Surface not supported by present queue.";
return false;
}
DCHECK(device_queue); DCHECK(device_queue);
device_queue_ = device_queue; device_queue_ = device_queue;
......
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