From 0600115afb68012bf20a3e75fdb7302776d59666 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Mon, 20 Apr 2015 11:04:54 -0600 Subject: vkEnumerateLayers: Update to match upstream The upstream vulkan.h header removed maxLayerCount parameter from vkEnumerateLayers. This patch implements that change for the sample driver and layers. --- loader/loader.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'loader') diff --git a/loader/loader.c b/loader/loader.c index de296fa9..3325a109 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -1368,8 +1368,9 @@ LOADER_EXPORT VkResult VKAPI vkGetGlobalExtensionInfo( return VK_SUCCESS; } -LOADER_EXPORT VkResult VKAPI vkEnumerateLayers(VkPhysicalDevice gpu, size_t maxLayerCount, size_t maxStringSize, size_t* pOutLayerCount, char* const* pOutLayers, void* pReserved) +LOADER_EXPORT VkResult VKAPI vkEnumerateLayers(VkPhysicalDevice gpu, size_t maxStringSize, size_t* pLayerCount, char* const* pOutLayers, void* pReserved) { + size_t maxLayerCount; uint32_t gpu_index; size_t count = 0; char *lib_name; @@ -1379,9 +1380,11 @@ LOADER_EXPORT VkResult VKAPI vkEnumerateLayers(VkPhysicalDevice gpu, size_t maxL char layer_buf[16][256]; char * layers[16]; - if (pOutLayerCount == NULL || pOutLayers == NULL) + if (pLayerCount == NULL || pOutLayers == NULL) return VK_ERROR_INVALID_POINTER; + maxLayerCount = *pLayerCount; + if (!icd) return VK_ERROR_UNAVAILABLE; @@ -1417,11 +1420,11 @@ LOADER_EXPORT VkResult VKAPI vkEnumerateLayers(VkPhysicalDevice gpu, size_t maxL count++; free(cpyStr); } else { - size_t cnt; + size_t cnt = 16; /* only allow 16 layers, for now */ uint32_t n; VkResult res; n = (uint32_t) ((maxStringSize < 256) ? maxStringSize : 256); - res = fpEnumerateLayers((VkPhysicalDevice) NULL, 16, n, &cnt, layers, (char *) icd->gpus + gpu_index); + res = fpEnumerateLayers((VkPhysicalDevice) NULL, n, &cnt, layers, (char *) icd->gpus + gpu_index); loader_platform_close_library(handle); if (res != VK_SUCCESS) continue; @@ -1436,7 +1439,7 @@ LOADER_EXPORT VkResult VKAPI vkEnumerateLayers(VkPhysicalDevice gpu, size_t maxL } } - *pOutLayerCount = count; + *pLayerCount = count; return VK_SUCCESS; } -- cgit v1.2.3