vulkan: Add vkGetGlobalExtensionInfo entrypoint

have loader use it to enumerate all extensions from layers and drivers.
Non-gode_gen layers also updated to include vkGetGlobalExtensionInfo

Includes verion info as part of GetExtensionSupport return data.

TODO: vk-layer-generate needs work

v2: do not check for non-existing ENABLE_WSI_X11 (olv)
diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c
index 4d72b51..5dc99de 100644
--- a/icd/nulldrv/nulldrv.c
+++ b/icd/nulldrv/nulldrv.c
@@ -1353,8 +1353,41 @@
     return VK_SUCCESS;
 }
 
+ICD_EXPORT VkResult VKAPI vkGetGlobalExtensionInfo(
+                                               VkExtensionInfoType infoType,
+                                               uint32_t extensionIndex,
+                                               size_t*  pDataSize,
+                                               void*    pData)
+{
+    uint32_t *count;
+
+    if (pDataSize == NULL)
+        return VK_ERROR_INVALID_POINTER;
+
+    switch (infoType) {
+        case VK_EXTENSION_INFO_TYPE_COUNT:
+            *pDataSize = sizeof(uint32_t);
+            if (pData == NULL)
+                return VK_SUCCESS;
+            count = (uint32_t *) pData;
+            *count = 0;
+            break;
+        case VK_EXTENSION_INFO_TYPE_PROPERTIES:
+            *pDataSize = 0;
+            if (pData == NULL)
+                return VK_SUCCESS;
+            else
+                return VK_ERROR_INVALID_EXTENSION;
+            break;
+        default:
+            return VK_ERROR_INVALID_VALUE;
+    };
+
+    return VK_SUCCESS;
+}
+
 ICD_EXPORT VkResult VKAPI vkGetExtensionSupport(
-    VkPhysicalGpu                            gpu_,
+    VkPhysicalGpu                               gpu_,
     const char*                                 pExtName)
 {
     NULLDRV_LOG_FUNC;