aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2015-02-18 11:29:58 -0700
committerJon Ashburn <jon@lunarg.com>2015-02-20 08:54:44 -0700
commitcc7141bc876a3f90e1f8dece1d175abbaf6ad7c8 (patch)
tree7b4a03ee54849987448ee27e52eb974aecb964c6 /loader
parentcf628ca862f13020c83998faacdfd454d90c49ef (diff)
downloadusermoji-cc7141bc876a3f90e1f8dece1d175abbaf6ad7c8.tar.xz
loader: Fix merge of layer names from env and CreateDevice
Diffstat (limited to 'loader')
-rw-r--r--loader/loader.c14
1 files changed, 8 insertions, 6 deletions
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)