aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-25 16:27:24 -0600
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-29 11:28:17 -0600
commit71f3700ea265eec480257eea2640ce5603432cca (patch)
tree65b0a3628ee2029974c3d697fdab3a66bc830769
parent9cf66d8e493a89cf19a75efb99b3b6073303cfac (diff)
downloadusermoji-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.c8
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