From cc7141bc876a3f90e1f8dece1d175abbaf6ad7c8 Mon Sep 17 00:00:00 2001 From: Jon Ashburn Date: Wed, 18 Feb 2015 11:29:58 -0700 Subject: loader: Fix merge of layer names from env and CreateDevice --- loader/loader.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'loader/loader.c') diff --git a/loader/loader.c b/loader/loader.c index 6d877951..46a7bfcb 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -807,12 +807,13 @@ static uint32_t loader_get_layer_libs(struct loader_icd *icd, uint32_t gpu_index while (pCi) { if (pCi->sType == XGL_STRUCTURE_TYPE_LAYER_CREATE_INFO) { const char *name; - uint32_t len; + uint32_t len, j = 0; for (uint32_t i = env_layer_count; i < (env_layer_count + pCi->layerCount); i++) { const char * lib_name = NULL; - name = *(pCi->ppActiveLayerNames + i); - if (!find_layer_name(icd, gpu_index, name, &lib_name)) - return loader_get_layer_env(icd, gpu_index, layerNames); + name = *(pCi->ppActiveLayerNames + j); + if (!find_layer_name(icd, gpu_index, name, &lib_name)) { + return i; + } len = (uint32_t) strlen(name); layerNames[i].layer_name = malloc(len + 1); if (!layerNames[i].layer_name) @@ -820,12 +821,13 @@ static uint32_t loader_get_layer_libs(struct loader_icd *icd, uint32_t gpu_index strncpy((char *) layerNames[i].layer_name, name, len); layerNames[i].layer_name[len] = '\0'; layerNames[i].lib_name = lib_name; + j++; } - return pCi->layerCount + loader_get_layer_env(icd, gpu_index, layerNames); + return pCi->layerCount + env_layer_count; } pCi = pCi->pNext; } - return loader_get_layer_env(icd, gpu_index, layerNames); + return env_layer_count; } static void loader_deactivate_layer(const struct loader_instance *instance) -- cgit v1.2.3