aboutsummaryrefslogtreecommitdiff
path: root/icd
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2015-04-10 14:33:07 -0600
committerChia-I Wu <olv@lunarg.com>2015-04-16 17:48:19 +0800
commitc1f104a68debb061464d7cac76aadfbfd05067f4 (patch)
treeb276c92baf2ccd170c86dd80d7e14f72cd097403 /icd
parent23e038d6ddc4b30ea889ea5ffa3fb068783f8540 (diff)
downloadusermoji-c1f104a68debb061464d7cac76aadfbfd05067f4.tar.xz
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)
Diffstat (limited to 'icd')
-rw-r--r--icd/nulldrv/VK_nulldrv.def1
-rw-r--r--icd/nulldrv/nulldrv.c35
2 files changed, 35 insertions, 1 deletions
diff --git a/icd/nulldrv/VK_nulldrv.def b/icd/nulldrv/VK_nulldrv.def
index 792fe6dd..a2d0167d 100644
--- a/icd/nulldrv/VK_nulldrv.def
+++ b/icd/nulldrv/VK_nulldrv.def
@@ -30,6 +30,7 @@ EXPORTS
vkCreateInstance
vkEnumerateGpus
vkDestroyInstance
+ vkGetGlobalExtensionInfo
xcbCreateWindow
xcbDestroyWindow
xcbGetMessage
diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c
index 4d72b511..5dc99de6 100644
--- a/icd/nulldrv/nulldrv.c
+++ b/icd/nulldrv/nulldrv.c
@@ -1353,8 +1353,41 @@ ICD_EXPORT VkResult VKAPI vkGetGpuInfo(
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;