diff options
| author | Jon Ashburn <jon@lunarg.com> | 2015-02-18 11:29:58 -0700 |
|---|---|---|
| committer | Jon Ashburn <jon@lunarg.com> | 2015-02-20 08:54:44 -0700 |
| commit | cc7141bc876a3f90e1f8dece1d175abbaf6ad7c8 (patch) | |
| tree | 7b4a03ee54849987448ee27e52eb974aecb964c6 /loader/loader.c | |
| parent | cf628ca862f13020c83998faacdfd454d90c49ef (diff) | |
| download | usermoji-cc7141bc876a3f90e1f8dece1d175abbaf6ad7c8.tar.xz | |
loader: Fix merge of layer names from env and CreateDevice
Diffstat (limited to 'loader/loader.c')
| -rw-r--r-- | loader/loader.c | 14 |
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) |
