Check if CTS has platform display for wsi-type
authorygole <ygole@nvidia.com>
Tue, 15 Jan 2019 13:49:31 +0000 (19:19 +0530)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 21 Feb 2019 07:58:13 +0000 (02:58 -0500)
commitb7efacd7b320d2b2c3b8b75cf98c9979b5a29fe9
tree444dfadf4f32107090685d1049f0a3931ccce98b
parente8007589eb7ff0cc0f74b66ea71a4f83e3bf2594
Check if CTS has platform display for wsi-type

Vulkan driver can expose multiple VK_KHR_{platform}_surface extensions
and it's app responsibility to create platform display then create the
surface and pass it to vkCreate{platform}SurfaceKHR. But if CTS does
not have display for requested wsi type and extension is exposed, CTS
reports it as failure.

To fix this, if function createWsiDisplay fails then check whether CTS
has platform display available for requested wsi-type and if it does
then only report this as failure otherwise report it as unsupported.

Affects: dEQP-VK.wsi.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1558

Change-Id: I41aabc2e77cfc6e730b5a95dde746d8ea8152d2b
23 files changed:
external/vulkancts/framework/vulkan/vkPlatform.cpp
external/vulkancts/framework/vulkan/vkPlatform.hpp
external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemWsiSwapchainTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiColorSpaceTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiDisplayTimingTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiIncrementalPresentTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiSharedPresentableImageTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiSurfaceTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiSwapchainTests.cpp
framework/platform/android/tcuAndroidPlatform.cpp
framework/platform/android/tcuAndroidPlatform.hpp
framework/platform/lnx/X11/tcuLnxX11.cpp
framework/platform/lnx/X11/tcuLnxX11.hpp
framework/platform/lnx/X11/tcuLnxX11Xcb.cpp
framework/platform/lnx/X11/tcuLnxX11Xcb.hpp
framework/platform/lnx/tcuLnxVulkanPlatform.cpp
framework/platform/lnx/tcuLnxVulkanPlatform.hpp
framework/platform/lnx/wayland/tcuLnxWayland.cpp
framework/platform/lnx/wayland/tcuLnxWayland.hpp
framework/platform/osx/tcuOSXVulkanPlatform.cpp
framework/platform/osx/tcuOSXVulkanPlatform.hpp
framework/platform/win32/tcuWin32VulkanPlatform.cpp
framework/platform/win32/tcuWin32VulkanPlatform.hpp