loader: Remove global instance extension list and rebuild it as needed
This will be necessary once ICDs are rescanned at CreateInstance and prior.
diff --git a/loader/loader.h b/loader/loader.h
index 28772cc..15b78f5 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -186,9 +186,6 @@
char *layer_dirs;
// TODO use this struct loader_layer_library_list scanned_layer_libraries;
-
- /* Keep track of all the extensions available via GetGlobalExtensionProperties */
- struct loader_extension_list global_extensions;
};
struct loader_scanned_icds {
@@ -259,6 +256,7 @@
VkResult loader_validate_layers(const uint32_t layer_count, const char * const *ppEnabledLayerNames, struct loader_layer_list *list);
VkResult loader_validate_instance_extensions(
+ const struct loader_extension_list *icd_exts,
const struct loader_layer_list *instance_layer,
const VkInstanceCreateInfo* pCreateInfo);
@@ -355,7 +353,7 @@
void loader_layer_scan(
struct loader_layer_list *instance_layers,
struct loader_layer_list *device_layers);
-void loader_coalesce_extensions(void);
+void loader_get_icd_loader_instance_extensions(struct loader_extension_list *inst_exts);
struct loader_icd * loader_get_icd(
const VkPhysicalDevice gpu,