Improvements in TestWin32HandlesImport - calling vkGetPhysicalDeviceExternalBufferProperties
diff --git a/src/Tests.cpp b/src/Tests.cpp
index 48e4784..d28b2c6 100644
--- a/src/Tests.cpp
+++ b/src/Tests.cpp
@@ -8587,7 +8587,14 @@
 
     wprintf(L"Test Win32 handles import\n");
 
-    const uint32_t dataValue = 0x72158510;
+    constexpr VkExternalMemoryHandleTypeFlagBits handleType =
+        VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
+    constexpr uint32_t dataValue = 0x72158510;
+
+    PFN_vkGetPhysicalDeviceExternalBufferProperties pfnGetPhysicalDeviceExternalBufferProperties =
+        (PFN_vkGetPhysicalDeviceExternalBufferProperties)
+        vkGetInstanceProcAddr(g_hVulkanInstance, "vkGetPhysicalDeviceExternalBufferProperties");
+    TEST(pfnGetPhysicalDeviceExternalBufferProperties != nullptr);
 
     for(size_t testIndex = 0; testIndex < 2; ++testIndex)
     {
@@ -8600,6 +8607,25 @@
         HANDLE sharedHandle = NULL;
         if(testImport)
         {
+            VkPhysicalDeviceExternalBufferInfo externalBufInfo = {
+                VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO };
+            externalBufInfo.flags = bufCreateInfo.flags;
+            externalBufInfo.usage = bufCreateInfo.usage;
+            externalBufInfo.handleType = handleType;
+            
+            VkExternalBufferProperties externalBufProps = {
+                VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES };
+            
+            pfnGetPhysicalDeviceExternalBufferProperties(g_hPhysicalDevice, 
+                &externalBufInfo, &externalBufProps);
+            
+            if((externalBufProps.externalMemoryProperties.externalMemoryFeatures &
+                VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT) == 0)
+            {
+                wprintf(L"    WARNING: External memory not importable, skipping test.\n");
+                continue;
+            }
+
             const wchar_t* mappingName = L"MySharedVulkanMemory";
             sharedHandle = CreateFileMapping(
                 INVALID_HANDLE_VALUE, // hFile - only in memory, no file.
@@ -8630,9 +8656,6 @@
 
         if(testImport)
         {
-            constexpr VkExternalMemoryHandleTypeFlagBits handleType =
-                VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
-
             externalMemBufCreateInfo.handleTypes = handleType;
             bufCreateInfo.pNext = &externalMemBufCreateInfo;
 
@@ -8769,11 +8792,10 @@
 {
     wprintf(L"TESTING:\n");
 
-    if(true)
+    if(false)
     {
         ////////////////////////////////////////////////////////////////////////////////
         // Temporarily insert custom tests here:
-        TestWin32HandlesImport();
         return;
     }