Lines Matching defs:icd_tramp_list

1148 VkResult loader_get_icd_loader_instance_extensions(const struct loader_instance *inst, struct loader_icd_tramp_list *icd_tramp_list,
1163 for (uint32_t i = 0; i < icd_tramp_list->count; i++) {
1168 res = loader_add_instance_extensions(inst, icd_tramp_list->scanned_list[i].EnumerateInstanceExtensionProperties,
1169 icd_tramp_list->scanned_list[i].lib_name, &icd_exts);
1377 void loader_scanned_icd_clear(const struct loader_instance *inst, struct loader_icd_tramp_list *icd_tramp_list) {
1378 if (0 != icd_tramp_list->capacity && icd_tramp_list->scanned_list) {
1379 for (uint32_t i = 0; i < icd_tramp_list->count; i++) {
1380 if (icd_tramp_list->scanned_list[i].handle) {
1381 loader_platform_close_library(icd_tramp_list->scanned_list[i].handle);
1382 icd_tramp_list->scanned_list[i].handle = NULL;
1384 loader_instance_heap_free(inst, icd_tramp_list->scanned_list[i].lib_name);
1386 loader_instance_heap_free(inst, icd_tramp_list->scanned_list);
1388 memset(icd_tramp_list, 0, sizeof(struct loader_icd_tramp_list));
1391 VkResult loader_scanned_icd_init(const struct loader_instance *inst, struct loader_icd_tramp_list *icd_tramp_list) {
1393 loader_scanned_icd_clear(inst, icd_tramp_list);
1394 icd_tramp_list->capacity = 8 * sizeof(struct loader_scanned_icd);
1395 icd_tramp_list->scanned_list = loader_instance_heap_alloc(inst, icd_tramp_list->capacity, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
1396 if (NULL == icd_tramp_list->scanned_list) {
1405 const VkDirectDriverLoadingInfoLUNARG *pDriver, struct loader_icd_tramp_list *icd_tramp_list) {
1489 if ((icd_tramp_list->count * sizeof(struct loader_scanned_icd)) >= icd_tramp_list->capacity) {
1490 void *new_ptr = loader_instance_heap_realloc(inst, icd_tramp_list->scanned_list, icd_tramp_list->capacity,
1491 icd_tramp_list->capacity * 2, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
1497 icd_tramp_list->scanned_list = new_ptr;
1500 icd_tramp_list->capacity *= 2;
1515 new_scanned_icd = &(icd_tramp_list->scanned_list[icd_tramp_list->count]);
1528 icd_tramp_list->count++;
1540 struct loader_icd_tramp_list *icd_tramp_list, bool *direct_driver_loading_exclusive_mode) {
1610 VkResult res = loader_add_direct_driver(inst, i, &ddl_list->pDrivers[i], icd_tramp_list);
1619 VkResult loader_scanned_icd_add(const struct loader_instance *inst, struct loader_icd_tramp_list *icd_tramp_list,
1777 if ((icd_tramp_list->count * sizeof(struct loader_scanned_icd)) >= icd_tramp_list->capacity) {
1778 void *new_ptr = loader_instance_heap_realloc(inst, icd_tramp_list->scanned_list, icd_tramp_list->capacity,
1779 icd_tramp_list->capacity * 2, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
1786 icd_tramp_list->scanned_list = new_ptr;
1789 icd_tramp_list->capacity *= 2;
1800 new_scanned_icd = &(icd_tramp_list->scanned_list[icd_tramp_list->count]);
1817 icd_tramp_list->count++;
3595 VkResult loader_icd_scan(const struct loader_instance *inst, struct loader_icd_tramp_list *icd_tramp_list,
3604 res = loader_scanned_icd_init(inst, icd_tramp_list);
3610 res = loader_scan_for_direct_drivers(inst, pCreateInfo, icd_tramp_list, &direct_driver_loading_exclusive_mode);
3686 loader_scanned_icd_add(inst, icd_tramp_list, icd_details[i].full_library_path, icd_details[i].version, &lib_status);
5350 for (uint32_t i = 0; i < ptr_instance->icd_tramp_list.count; i++) {
5351 icd_term = loader_icd_add(ptr_instance, &ptr_instance->icd_tramp_list.scanned_list[i]);
5499 ptr_instance->icd_tramp_list.scanned_list[i].CreateInstance(&icd_create_info, pAllocator, &(icd_term->instance));
5525 if (ptr_instance->icd_tramp_list.scanned_list[i].interface_version < 3 &&
5549 ptr_instance->icd_tramp_list.scanned_list[i].lib_name,
5550 ptr_instance->icd_tramp_list.scanned_list[i].interface_version);
5652 loader_scanned_icd_clear(ptr_instance, &ptr_instance->icd_tramp_list);
6730 struct loader_icd_tramp_list icd_tramp_list;
6737 memset(&icd_tramp_list, 0, sizeof(icd_tramp_list));
6768 res = loader_icd_scan(NULL, &icd_tramp_list, NULL, NULL);
6770 if ((VK_SUCCESS != res && icd_tramp_list.count > 0) || res == VK_ERROR_OUT_OF_HOST_MEMORY) {
6774 res = loader_get_icd_loader_instance_extensions(NULL, &icd_tramp_list, &local_ext_list);
6778 loader_scanned_icd_clear(NULL, &icd_tramp_list);
6815 loader_destroy_generic_list(NULL, (struct loader_generic_list *)&icd_tramp_list);