diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-06-25 16:27:24 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-06-29 11:28:17 -0600 |
| commit | 71f3700ea265eec480257eea2640ce5603432cca (patch) | |
| tree | 65b0a3628ee2029974c3d697fdab3a66bc830769 | |
| parent | 9cf66d8e493a89cf19a75efb99b3b6073303cfac (diff) | |
| download | usermoji-71f3700ea265eec480257eea2640ce5603432cca.tar.xz | |
loader: Need to search device extension cache
Code was searching global extension cache for
extensions enabled at CreateDevice time. List are similar
but not identical and cause vulkaninfo to hit a segfault.
| -rw-r--r-- | loader/loader.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/loader/loader.c b/loader/loader.c index c958d829..00b46d78 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -1422,7 +1422,9 @@ void loader_activate_instance_layer_extensions(struct loader_instance *inst) (VkInstance) inst); } -static void loader_enable_device_layers(struct loader_device *dev) +static void loader_enable_device_layers( + struct loader_device *dev, + struct loader_extension_list *ext_list) { if (dev == NULL) return; @@ -1435,7 +1437,7 @@ static void loader_enable_device_layers(struct loader_device *dev) &dev->enabled_device_extensions, dev->app_extension_count, dev->app_extension_props, - &loader.global_extensions); + ext_list); } static uint32_t loader_activate_device_layers( @@ -1868,7 +1870,7 @@ VkResult loader_CreateDevice( * Put together the complete list of extensions to enable * This includes extensions requested via environment variables. */ - loader_enable_device_layers(dev); + loader_enable_device_layers(dev, &icd->device_extension_cache[gpu_index]); /* * Load the libraries needed by the extensions on the |
