From 3cf62330d0482ee10d8cf4c6f6a49833fef56d44 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Date: Tue, 24 Sep 2019 17:45:37 +0200 Subject: [PATCH] Add tests for VK_EXT_display_surface_counter This commit adds tests for VK_EXT_display_surface_counter that try to verify vkGetPhysicalDeviceSurfaceCapabilities2EXT returns the same set of capabilities as vkGetPhysicalDeviceSurfaceCapabilitiesKHR and the supportedSurfaceCounters field has coherent values for display surfaces and non-display surfaces. Affected tests: dEQP-VK.wsi.display.create_display_plane_surface New tests: dEQP-VK.wsi.*.surface.query_surface_counters dEQP-VK.wsi.display.surface_counters Components: Vulkan VK-GL-CTS issue: 1683 Change-Id: I7754411c7b458201e9a7f5e8a99dfada388124d7 --- android/cts/master/vk-master.txt | 3 + external/vulkancts/framework/vulkan/vkWsiUtil.cpp | 32 +++++++++ external/vulkancts/framework/vulkan/vkWsiUtil.hpp | 7 ++ .../modules/vulkan/wsi/vktWsiDisplayTests.cpp | 76 ++++++++++++++++++++-- .../modules/vulkan/wsi/vktWsiSurfaceTests.cpp | 28 ++++++++ .../mustpass/master/vk-default-no-waivers.txt | 7 ++ external/vulkancts/mustpass/master/vk-default.txt | 7 ++ 7 files changed, 155 insertions(+), 5 deletions(-) diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 90c9b70..db970fc 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -383844,6 +383844,7 @@ dEQP-VK.wsi.android.surface.query_support dEQP-VK.wsi.android.surface.query_capabilities dEQP-VK.wsi.android.surface.query_capabilities2 dEQP-VK.wsi.android.surface.query_protected_capabilities +dEQP-VK.wsi.android.surface.query_surface_counters dEQP-VK.wsi.android.surface.query_formats dEQP-VK.wsi.android.surface.query_formats2 dEQP-VK.wsi.android.surface.query_present_modes @@ -384617,6 +384618,7 @@ dEQP-VK.wsi.macos.surface.query_support dEQP-VK.wsi.macos.surface.query_capabilities dEQP-VK.wsi.macos.surface.query_capabilities2 dEQP-VK.wsi.macos.surface.query_protected_capabilities +dEQP-VK.wsi.macos.surface.query_surface_counters dEQP-VK.wsi.macos.surface.query_formats dEQP-VK.wsi.macos.surface.query_formats2 dEQP-VK.wsi.macos.surface.query_present_modes @@ -385032,6 +385034,7 @@ dEQP-VK.wsi.display.get_display_mode_properties dEQP-VK.wsi.display.create_display_mode dEQP-VK.wsi.display.get_display_plane_capabilities dEQP-VK.wsi.display.create_display_plane_surface +dEQP-VK.wsi.display.surface_counters dEQP-VK.wsi.display.get_display_properties2 dEQP-VK.wsi.display.get_display_plane_properties2 dEQP-VK.wsi.display.get_display_mode_properties2 diff --git a/external/vulkancts/framework/vulkan/vkWsiUtil.cpp b/external/vulkancts/framework/vulkan/vkWsiUtil.cpp index d9a8a80..29aa3c1 100644 --- a/external/vulkancts/framework/vulkan/vkWsiUtil.cpp +++ b/external/vulkancts/framework/vulkan/vkWsiUtil.cpp @@ -268,6 +268,38 @@ VkSurfaceCapabilitiesKHR getPhysicalDeviceSurfaceCapabilities (const InstanceInt return capabilities; } +VkSurfaceCapabilities2EXT getPhysicalDeviceSurfaceCapabilities2EXT (const InstanceInterface& vki, + VkPhysicalDevice physicalDevice, + VkSurfaceKHR surface) +{ + VkSurfaceCapabilities2EXT capabilities; + + deMemset(&capabilities, 0, sizeof(capabilities)); + capabilities.sType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT; + + VK_CHECK(vki.getPhysicalDeviceSurfaceCapabilities2EXT(physicalDevice, surface, &capabilities)); + + return capabilities; +} + +bool sameSurfaceCapabilities (const VkSurfaceCapabilitiesKHR& khr, + const VkSurfaceCapabilities2EXT& ext) +{ + return ( khr.minImageCount == ext.minImageCount && + khr.maxImageCount == ext.maxImageCount && + khr.currentExtent.width == ext.currentExtent.width && + khr.currentExtent.height == ext.currentExtent.height && + khr.minImageExtent.width == ext.minImageExtent.width && + khr.minImageExtent.height == ext.minImageExtent.height && + khr.maxImageExtent.width == ext.maxImageExtent.width && + khr.maxImageExtent.height == ext.maxImageExtent.height && + khr.maxImageArrayLayers == ext.maxImageArrayLayers && + khr.supportedTransforms == ext.supportedTransforms && + khr.currentTransform == ext.currentTransform && + khr.supportedCompositeAlpha == ext.supportedCompositeAlpha && + khr.supportedUsageFlags == ext.supportedUsageFlags ); +} + std::vector getPhysicalDeviceSurfaceFormats (const InstanceInterface& vki, VkPhysicalDevice physicalDevice, VkSurfaceKHR surface) diff --git a/external/vulkancts/framework/vulkan/vkWsiUtil.hpp b/external/vulkancts/framework/vulkan/vkWsiUtil.hpp index bee82de..bd4ca43 100644 --- a/external/vulkancts/framework/vulkan/vkWsiUtil.hpp +++ b/external/vulkancts/framework/vulkan/vkWsiUtil.hpp @@ -86,6 +86,13 @@ VkSurfaceCapabilitiesKHR getPhysicalDeviceSurfaceCapabilities (const InstanceIn VkPhysicalDevice physicalDevice, VkSurfaceKHR surface); +VkSurfaceCapabilities2EXT getPhysicalDeviceSurfaceCapabilities2EXT(const InstanceInterface& vki, + VkPhysicalDevice physicalDevice, + VkSurfaceKHR surface); + +bool sameSurfaceCapabilities (const VkSurfaceCapabilitiesKHR& khr, + const VkSurfaceCapabilities2EXT& ext); + std::vector getPhysicalDeviceSurfaceFormats (const InstanceInterface& vki, VkPhysicalDevice physicalDevice, VkSurfaceKHR surface); diff --git a/external/vulkancts/modules/vulkan/wsi/vktWsiDisplayTests.cpp b/external/vulkancts/modules/vulkan/wsi/vktWsiDisplayTests.cpp index 0c6a0f1..00c3e37 100644 --- a/external/vulkancts/modules/vulkan/wsi/vktWsiDisplayTests.cpp +++ b/external/vulkancts/modules/vulkan/wsi/vktWsiDisplayTests.cpp @@ -28,6 +28,8 @@ #include "vkStrUtil.hpp" #include "vkPrograms.hpp" #include "vkRef.hpp" +#include "vkQueryUtil.hpp" +#include "vkWsiUtil.hpp" #include "tcuDefs.hpp" #include "tcuTestLog.hpp" @@ -40,6 +42,8 @@ #include #include #include +#include +#include namespace vkt { @@ -65,6 +69,7 @@ enum DisplayIndexTest DISPLAY_TEST_INDEX_CREATE_DISPLAY_MODE, DISPLAY_TEST_INDEX_GET_DISPLAY_PLANE_CAPABILITIES, DISPLAY_TEST_INDEX_CREATE_DISPLAY_PLANE_SURFACE, + DISPLAY_TEST_INDEX_SURFACE_COUNTERS, DISPLAY_TEST_INDEX_GET_DISPLAY_PROPERTIES2, DISPLAY_TEST_INDEX_GET_DISPLAY_PLANES2, DISPLAY_TEST_INDEX_GET_DISPLAY_MODE2, @@ -197,7 +202,15 @@ private: tcu::TestStatus testGetDisplayModePropertiesKHR (void); tcu::TestStatus testCreateDisplayModeKHR (void); tcu::TestStatus testGetDisplayPlaneCapabilitiesKHR (void); - tcu::TestStatus testCreateDisplayPlaneSurfaceKHR (void); + + enum SurfaceTestKind + { + SURFACE_CREATE = 0, + SURFACE_COUNTERS, + SURFACE_TEST_KIND_MAX_ENUM + }; + + tcu::TestStatus testDisplaySurface (SurfaceTestKind testKind); // VK_KHR_get_display_properties2 extension tests tcu::TestStatus testGetPhysicalDeviceDisplayProperties2KHR (void); @@ -276,7 +289,8 @@ tcu::TestStatus DisplayCoverageTestInstance::iterate (void) case DISPLAY_TEST_INDEX_GET_DISPLAY_MODE: return testGetDisplayModePropertiesKHR(); break; case DISPLAY_TEST_INDEX_CREATE_DISPLAY_MODE: return testCreateDisplayModeKHR(); break; case DISPLAY_TEST_INDEX_GET_DISPLAY_PLANE_CAPABILITIES: return testGetDisplayPlaneCapabilitiesKHR(); break; - case DISPLAY_TEST_INDEX_CREATE_DISPLAY_PLANE_SURFACE: return testCreateDisplayPlaneSurfaceKHR(); break; + case DISPLAY_TEST_INDEX_CREATE_DISPLAY_PLANE_SURFACE: return testDisplaySurface(SURFACE_CREATE); break; + case DISPLAY_TEST_INDEX_SURFACE_COUNTERS: return testDisplaySurface(SURFACE_COUNTERS); break; case DISPLAY_TEST_INDEX_GET_DISPLAY_PROPERTIES2: return testGetPhysicalDeviceDisplayProperties2KHR(); break; case DISPLAY_TEST_INDEX_GET_DISPLAY_PLANES2: return testGetPhysicalDeviceDisplayPlaneProperties2KHR(); break; case DISPLAY_TEST_INDEX_GET_DISPLAY_MODE2: return testGetDisplayModeProperties2KHR(); break; @@ -1515,14 +1529,25 @@ tcu::TestStatus DisplayCoverageTestInstance::testGetDisplayPlaneCapabilitiesKHR return tcu::TestStatus::pass("pass"); } +namespace +{ + struct SurfaceCountersError : public std::runtime_error + { + SurfaceCountersError(const std::string& what) : std::runtime_error(what) {} + }; +} + /*--------------------------------------------------------------------*//*! - * \brief Create display plane surface coverage test + * \brief Test display surface creation or counters. + * + * In the counter variant, it needs VK_EXT_display_surface_counter + * and checks the available surface counters. * * Throws an exception on fail. * * \return tcu::TestStatus::pass on success *//*--------------------------------------------------------------------*/ -tcu::TestStatus DisplayCoverageTestInstance::testCreateDisplayPlaneSurfaceKHR (void) +tcu::TestStatus DisplayCoverageTestInstance::testDisplaySurface (SurfaceTestKind testKind) { deUint32 planeCountReported = 0u; deUint32 planeCountTested = 0u; @@ -1531,6 +1556,13 @@ tcu::TestStatus DisplayCoverageTestInstance::testCreateDisplayPlaneSurfaceKHR (v bool testPerformed = false; DisplayVector displaysVector; VkResult result; + std::string surfaceCountersErr; + + DE_ASSERT(testKind >= 0 && testKind < SURFACE_TEST_KIND_MAX_ENUM); + + // Check the needed extension. + if (testKind == SURFACE_COUNTERS && (!isInstanceExtensionSupported(m_context.getUsedApiVersion(), m_context.getInstanceExtensions(), "VK_EXT_display_surface_counter"))) + TCU_THROW(NotSupportedError, "VK_EXT_display_surface_counter not supported"); // Get displays if (!getDisplays(displaysVector)) @@ -1661,6 +1693,39 @@ tcu::TestStatus DisplayCoverageTestInstance::testCreateDisplayPlaneSurfaceKHR (v if (surface == DE_NULL) TCU_FAIL("Invalid surface handle returned"); + if (testKind == SURFACE_COUNTERS) + { + // Check surface counters. + try + { + const vk::VkSurfaceCapabilities2EXT capsExt = vk::wsi::getPhysicalDeviceSurfaceCapabilities2EXT (m_vki, m_physicalDevice, surface); + const vk::VkSurfaceCapabilitiesKHR capsKhr = vk::wsi::getPhysicalDeviceSurfaceCapabilities (m_vki, m_physicalDevice, surface); + + if (!vk::wsi::sameSurfaceCapabilities(capsKhr, capsExt)) + { + throw SurfaceCountersError("KHR and EXT surface capabilities do not match"); + } + + for (deUint32 i = 0; i < sizeof(capsExt.supportedSurfaceCounters) * 8; ++i) + { + deUint32 mask = (1<(VK_SURFACE_COUNTER_VBLANK_EXT)) + { + std::ostringstream msg; + msg << "Invalid bit set in supportedSurfaceCounters: 0x" << std::hex << mask; + throw SurfaceCountersError(msg.str()); + } + } + } + } + catch(const SurfaceCountersError& err) + { + surfaceCountersErr = err.what(); + } + } + m_vki.destroySurfaceKHR( instance, // VkInstance instance surface, // VkSurfaceKHR* pSurface DE_NULL); // const VkAllocationCallbacks* pAllocator @@ -1676,7 +1741,7 @@ tcu::TestStatus DisplayCoverageTestInstance::testCreateDisplayPlaneSurfaceKHR (v if (!testPerformed) TCU_THROW(NotSupportedError, "Cannot find suitable parameters for the test"); - return tcu::TestStatus::pass("pass"); + return ((surfaceCountersErr.empty()) ? tcu::TestStatus::pass("Pass") : tcu::TestStatus::fail(surfaceCountersErr)); } /*--------------------------------------------------------------------*//*! @@ -2230,6 +2295,7 @@ void createDisplayCoverageTests (tcu::TestCaseGroup* group) addTest(group, DISPLAY_TEST_INDEX_CREATE_DISPLAY_MODE, "create_display_mode", "Create display mode coverage test"); addTest(group, DISPLAY_TEST_INDEX_GET_DISPLAY_PLANE_CAPABILITIES, "get_display_plane_capabilities", "Display-plane capabilities coverage test"); addTest(group, DISPLAY_TEST_INDEX_CREATE_DISPLAY_PLANE_SURFACE, "create_display_plane_surface", "Create display plane surface coverage test"); + addTest(group, DISPLAY_TEST_INDEX_SURFACE_COUNTERS, "surface_counters", "Display plane surface counters test"); // VK_KHR_get_display_properties2 extension tests addTest(group, DISPLAY_TEST_INDEX_GET_DISPLAY_PROPERTIES2, "get_display_properties2", "Display enumeration coverage test using VK_KHR_get_display_properties2"); diff --git a/external/vulkancts/modules/vulkan/wsi/vktWsiSurfaceTests.cpp b/external/vulkancts/modules/vulkan/wsi/vktWsiSurfaceTests.cpp index c5fe166..e51be50 100644 --- a/external/vulkancts/modules/vulkan/wsi/vktWsiSurfaceTests.cpp +++ b/external/vulkancts/modules/vulkan/wsi/vktWsiSurfaceTests.cpp @@ -286,6 +286,33 @@ tcu::TestStatus createSurfaceTest (Context& context, Type wsiType) return tcu::TestStatus::pass("Creating surface succeeded"); } +tcu::TestStatus querySurfaceCounterTest (Context& context, Type wsiType) +{ + const InstanceHelper instHelper (context, wsiType); + const NativeObjects native (context, instHelper.supportedExtensions, wsiType); + const Unique surface (createSurface(instHelper.vki, instHelper.instance, wsiType, *native.display, *native.window)); + const vk::InstanceInterface& vki = context.getInstanceInterface(); + const vk::VkPhysicalDevice physicalDevice = context.getPhysicalDevice(); + + if (!isInstanceExtensionSupported(context.getUsedApiVersion(), context.getInstanceExtensions(), "VK_EXT_display_surface_counter")) + TCU_THROW(NotSupportedError, "VK_EXT_display_surface_counter not supported"); + + const vk::VkSurfaceCapabilities2EXT capsExt = getPhysicalDeviceSurfaceCapabilities2EXT (vki, physicalDevice, surface.get()); + const vk::VkSurfaceCapabilitiesKHR capsKhr = getPhysicalDeviceSurfaceCapabilities (vki, physicalDevice, surface.get()); + + if (!sameSurfaceCapabilities(capsKhr, capsExt)) + { + return tcu::TestStatus::fail("KHR and EXT surface capabilities do not match"); + } + + if (capsExt.supportedSurfaceCounters != 0) + { + return tcu::TestStatus::fail("supportedSurfaceCounters nonzero (" + de::toString(capsExt.supportedSurfaceCounters) + ") for non-display surface"); + } + + return tcu::TestStatus::pass("Pass"); +} + tcu::TestStatus createSurfaceCustomAllocatorTest (Context& context, Type wsiType) { AllocationCallbackRecorder allocationRecorder (getSystemAllocator()); @@ -1248,6 +1275,7 @@ void createSurfaceTests (tcu::TestCaseGroup* testGroup, vk::wsi::Type wsiType) addFunctionCase(testGroup, "query_capabilities", "Query surface capabilities", querySurfaceCapabilitiesTest, wsiType); addFunctionCase(testGroup, "query_capabilities2", "Query extended surface capabilities", querySurfaceCapabilities2Test, wsiType); addFunctionCase(testGroup, "query_protected_capabilities", "Query protected surface capabilities", querySurfaceProtectedCapabilitiesTest, wsiType); + addFunctionCase(testGroup, "query_surface_counters", "Query and check available surface counters", querySurfaceCounterTest, wsiType); addFunctionCase(testGroup, "query_formats", "Query surface formats", querySurfaceFormatsTest, wsiType); addFunctionCase(testGroup, "query_formats2", "Query extended surface formats", querySurfaceFormats2Test, wsiType); addFunctionCase(testGroup, "query_present_modes", "Query surface present modes", querySurfacePresentModesTest, wsiType); diff --git a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt index 0668cf0..d8cbe41 100644 --- a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt +++ b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt @@ -383861,6 +383861,7 @@ dEQP-VK.wsi.xlib.surface.query_support dEQP-VK.wsi.xlib.surface.query_capabilities dEQP-VK.wsi.xlib.surface.query_capabilities2 dEQP-VK.wsi.xlib.surface.query_protected_capabilities +dEQP-VK.wsi.xlib.surface.query_surface_counters dEQP-VK.wsi.xlib.surface.query_formats dEQP-VK.wsi.xlib.surface.query_formats2 dEQP-VK.wsi.xlib.surface.query_present_modes @@ -384276,6 +384277,7 @@ dEQP-VK.wsi.xcb.surface.query_support dEQP-VK.wsi.xcb.surface.query_capabilities dEQP-VK.wsi.xcb.surface.query_capabilities2 dEQP-VK.wsi.xcb.surface.query_protected_capabilities +dEQP-VK.wsi.xcb.surface.query_surface_counters dEQP-VK.wsi.xcb.surface.query_formats dEQP-VK.wsi.xcb.surface.query_formats2 dEQP-VK.wsi.xcb.surface.query_present_modes @@ -384691,6 +384693,7 @@ dEQP-VK.wsi.wayland.surface.query_support dEQP-VK.wsi.wayland.surface.query_capabilities dEQP-VK.wsi.wayland.surface.query_capabilities2 dEQP-VK.wsi.wayland.surface.query_protected_capabilities +dEQP-VK.wsi.wayland.surface.query_surface_counters dEQP-VK.wsi.wayland.surface.query_formats dEQP-VK.wsi.wayland.surface.query_formats2 dEQP-VK.wsi.wayland.surface.query_present_modes @@ -385105,6 +385108,7 @@ dEQP-VK.wsi.android.surface.query_support dEQP-VK.wsi.android.surface.query_capabilities dEQP-VK.wsi.android.surface.query_capabilities2 dEQP-VK.wsi.android.surface.query_protected_capabilities +dEQP-VK.wsi.android.surface.query_surface_counters dEQP-VK.wsi.android.surface.query_formats dEQP-VK.wsi.android.surface.query_formats2 dEQP-VK.wsi.android.surface.query_present_modes @@ -386240,6 +386244,7 @@ dEQP-VK.wsi.win32.surface.query_support dEQP-VK.wsi.win32.surface.query_capabilities dEQP-VK.wsi.win32.surface.query_capabilities2 dEQP-VK.wsi.win32.surface.query_protected_capabilities +dEQP-VK.wsi.win32.surface.query_surface_counters dEQP-VK.wsi.win32.surface.query_formats dEQP-VK.wsi.win32.surface.query_formats2 dEQP-VK.wsi.win32.surface.query_present_modes @@ -386655,6 +386660,7 @@ dEQP-VK.wsi.macos.surface.query_support dEQP-VK.wsi.macos.surface.query_capabilities dEQP-VK.wsi.macos.surface.query_capabilities2 dEQP-VK.wsi.macos.surface.query_protected_capabilities +dEQP-VK.wsi.macos.surface.query_surface_counters dEQP-VK.wsi.macos.surface.query_formats dEQP-VK.wsi.macos.surface.query_formats2 dEQP-VK.wsi.macos.surface.query_present_modes @@ -387070,6 +387076,7 @@ dEQP-VK.wsi.display.get_display_mode_properties dEQP-VK.wsi.display.create_display_mode dEQP-VK.wsi.display.get_display_plane_capabilities dEQP-VK.wsi.display.create_display_plane_surface +dEQP-VK.wsi.display.surface_counters dEQP-VK.wsi.display.get_display_properties2 dEQP-VK.wsi.display.get_display_plane_properties2 dEQP-VK.wsi.display.get_display_mode_properties2 diff --git a/external/vulkancts/mustpass/master/vk-default.txt b/external/vulkancts/mustpass/master/vk-default.txt index 3023482..8a90916 100644 --- a/external/vulkancts/mustpass/master/vk-default.txt +++ b/external/vulkancts/mustpass/master/vk-default.txt @@ -383822,6 +383822,7 @@ dEQP-VK.wsi.xlib.surface.query_support dEQP-VK.wsi.xlib.surface.query_capabilities dEQP-VK.wsi.xlib.surface.query_capabilities2 dEQP-VK.wsi.xlib.surface.query_protected_capabilities +dEQP-VK.wsi.xlib.surface.query_surface_counters dEQP-VK.wsi.xlib.surface.query_formats dEQP-VK.wsi.xlib.surface.query_formats2 dEQP-VK.wsi.xlib.surface.query_present_modes @@ -384237,6 +384238,7 @@ dEQP-VK.wsi.xcb.surface.query_support dEQP-VK.wsi.xcb.surface.query_capabilities dEQP-VK.wsi.xcb.surface.query_capabilities2 dEQP-VK.wsi.xcb.surface.query_protected_capabilities +dEQP-VK.wsi.xcb.surface.query_surface_counters dEQP-VK.wsi.xcb.surface.query_formats dEQP-VK.wsi.xcb.surface.query_formats2 dEQP-VK.wsi.xcb.surface.query_present_modes @@ -384652,6 +384654,7 @@ dEQP-VK.wsi.wayland.surface.query_support dEQP-VK.wsi.wayland.surface.query_capabilities dEQP-VK.wsi.wayland.surface.query_capabilities2 dEQP-VK.wsi.wayland.surface.query_protected_capabilities +dEQP-VK.wsi.wayland.surface.query_surface_counters dEQP-VK.wsi.wayland.surface.query_formats dEQP-VK.wsi.wayland.surface.query_formats2 dEQP-VK.wsi.wayland.surface.query_present_modes @@ -385066,6 +385069,7 @@ dEQP-VK.wsi.android.surface.query_support dEQP-VK.wsi.android.surface.query_capabilities dEQP-VK.wsi.android.surface.query_capabilities2 dEQP-VK.wsi.android.surface.query_protected_capabilities +dEQP-VK.wsi.android.surface.query_surface_counters dEQP-VK.wsi.android.surface.query_formats dEQP-VK.wsi.android.surface.query_formats2 dEQP-VK.wsi.android.surface.query_present_modes @@ -386201,6 +386205,7 @@ dEQP-VK.wsi.win32.surface.query_support dEQP-VK.wsi.win32.surface.query_capabilities dEQP-VK.wsi.win32.surface.query_capabilities2 dEQP-VK.wsi.win32.surface.query_protected_capabilities +dEQP-VK.wsi.win32.surface.query_surface_counters dEQP-VK.wsi.win32.surface.query_formats dEQP-VK.wsi.win32.surface.query_formats2 dEQP-VK.wsi.win32.surface.query_present_modes @@ -386616,6 +386621,7 @@ dEQP-VK.wsi.macos.surface.query_support dEQP-VK.wsi.macos.surface.query_capabilities dEQP-VK.wsi.macos.surface.query_capabilities2 dEQP-VK.wsi.macos.surface.query_protected_capabilities +dEQP-VK.wsi.macos.surface.query_surface_counters dEQP-VK.wsi.macos.surface.query_formats dEQP-VK.wsi.macos.surface.query_formats2 dEQP-VK.wsi.macos.surface.query_present_modes @@ -387031,6 +387037,7 @@ dEQP-VK.wsi.display.get_display_mode_properties dEQP-VK.wsi.display.create_display_mode dEQP-VK.wsi.display.get_display_plane_capabilities dEQP-VK.wsi.display.create_display_plane_surface +dEQP-VK.wsi.display.surface_counters dEQP-VK.wsi.display.get_display_properties2 dEQP-VK.wsi.display.get_display_plane_properties2 dEQP-VK.wsi.display.get_display_mode_properties2 -- 2.7.4