Check if CTS has platform display for wsi-type
authorygole <ygole@nvidia.com>
Tue, 15 Jan 2019 13:49:31 +0000 (19:19 +0530)
committerYogesh Gole <ygole@nvidia.com>
Mon, 25 Feb 2019 14:45:51 +0000 (09:45 -0500)
commit8238af0aa1041ebadb9c3750f5f4e8685134acb2
tree90e59a8a5207409a73d75cc1cf8493c73140ceeb
parent8470cbfacee904771917ba5cef760ae76c1e6e88
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
(cherry picked from commit b7efacd7b320d2b2c3b8b75cf98c9979b5a29fe9)
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