aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtney@LunarG.com>2015-04-20 11:04:54 -0600
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-04-22 10:48:24 -0600
commit0600115afb68012bf20a3e75fdb7302776d59666 (patch)
tree689025f095d4eec2381acb85df81b264797290ad /loader
parentb11da8f8b52bc770a3203f7b017aba94a784d845 (diff)
downloadusermoji-0600115afb68012bf20a3e75fdb7302776d59666.tar.xz
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.
Diffstat (limited to 'loader')
-rw-r--r--loader/loader.c13
1 files changed, 8 insertions, 5 deletions
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;
}