diff options
| author | Jon Ashburn <jon@lunarg.com> | 2016-04-20 13:21:17 -0600 |
|---|---|---|
| committer | Jon Ashburn <jon@lunarg.com> | 2016-04-20 13:37:38 -0600 |
| commit | e8e49c95df9baa4e9b4b0c740a63ad4d9fba5b4a (patch) | |
| tree | 9778f4f7fa19b18296bcd9e9675b0486202cd0b6 /loader/loader.h | |
| parent | 16dc8919ac4d3bfbfe1f8664c401d3490a972fe4 (diff) | |
| download | usermoji-e8e49c95df9baa4e9b4b0c740a63ad4d9fba5b4a.tar.xz | |
loader: ghlvl 361, Simplify library resource handling
Layer and ICD libraries are opened and closed as needed. No ref counting,
no knowledge of if a library contains multiple layers or ICDs.
Change-Id: Ie88b671cd1671187a42d3d838d20e3af1afc67cc
Diffstat (limited to 'loader/loader.h')
| -rw-r--r-- | loader/loader.h | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/loader/loader.h b/loader/loader.h index 84659bba..9411c202 100644 --- a/loader/loader.h +++ b/loader/loader.h @@ -112,12 +112,6 @@ struct loader_name_value { char value[MAX_STRING_SIZE]; }; -struct loader_lib_info { - char lib_name[MAX_STRING_SIZE]; - uint32_t ref_count; - loader_platform_dl_handle lib_handle; -}; - struct loader_layer_functions { char str_gipa[MAX_STRING_SIZE]; char str_gdpa[MAX_STRING_SIZE]; @@ -129,6 +123,7 @@ struct loader_layer_properties { VkLayerProperties info; enum layer_type type; char lib_name[MAX_STRING_SIZE]; + loader_platform_dl_handle lib_handle; struct loader_layer_functions functions; struct loader_extension_list instance_extension_list; struct loader_device_extension_list device_extension_list; @@ -142,12 +137,6 @@ struct loader_layer_list { struct loader_layer_properties *list; }; -struct loader_layer_library_list { - size_t capacity; - uint32_t count; - struct loader_lib_info *list; -}; - struct loader_dispatch_hash_list { size_t capacity; uint32_t count; @@ -341,13 +330,6 @@ struct loader_physical_device { struct loader_struct { struct loader_instance *instances; - - unsigned int loaded_layer_lib_count; - size_t loaded_layer_lib_capacity; - struct loader_lib_info *loaded_layer_lib_list; - // TODO add ref counting of ICD libraries - // TODO use this struct loader_layer_library_list scanned_layer_libraries; - // TODO add list of icd libraries for ref counting them for closure }; struct loader_scanned_icds { @@ -510,6 +492,8 @@ void loader_init_dispatch_dev_ext(struct loader_instance *inst, void *loader_dev_ext_gpa(struct loader_instance *inst, const char *funcName); void *loader_get_dev_ext_trampoline(uint32_t index); struct loader_instance *loader_get_instance(const VkInstance instance); +void loader_deactivate_layers(const struct loader_instance *instance, + struct loader_layer_list *list); struct loader_device * loader_create_logical_device(const struct loader_instance *inst); void loader_add_logical_device(const struct loader_instance *inst, |
