From f010bec856e17cfb59851235cb951b291ec73f2e Mon Sep 17 00:00:00 2001 From: Jon Ashburn Date: Thu, 24 Mar 2016 15:49:57 -0600 Subject: loader: ghlvl 116 Fix CreateDevice to use the proper ICDs PhysDev This is needed for querying extensoins from the ICD. Change-Id: I5655d33d15bf0ea6de506f81821a30dd81ca3d5a --- loader/loader.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'loader/loader.c') diff --git a/loader/loader.c b/loader/loader.c index 426b1a10..c2cb0c51 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -1181,8 +1181,6 @@ static void loader_icd_destroy(struct loader_instance *ptr_inst, dev = next_dev; } - if (icd->phys_devs != NULL) - loader_heap_free(ptr_inst, icd->phys_devs); loader_heap_free(ptr_inst, icd); } @@ -3342,7 +3340,7 @@ loader_enable_device_layers(const struct loader_instance *inst, return err; } -VkResult loader_create_device_chain(const struct loader_physical_device *pd, +VkResult loader_create_device_chain(const struct loader_physical_device_tramp *pd, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, const struct loader_instance *inst, @@ -3556,7 +3554,7 @@ VkResult loader_validate_instance_extensions( } VkResult loader_validate_device_extensions( - struct loader_physical_device *phys_dev, + struct loader_physical_device_tramp *phys_dev, const struct loader_layer_list *activated_device_layers, const struct loader_extension_list *icd_exts, const VkDeviceCreateInfo *pCreateInfo) { @@ -3936,19 +3934,11 @@ terminator_EnumeratePhysicalDevices(VkInstance instance, return VK_ERROR_OUT_OF_HOST_MEMORY; for (i = 0; idx < copy_count && i < inst->total_icd_count; i++) { - icd = phys_devs[i].this_icd; - if (icd->phys_devs != NULL) { - loader_heap_free(inst, icd->phys_devs); - } - icd->phys_devs = loader_heap_alloc(inst, - sizeof(VkPhysicalDevice) * phys_devs[i].count, - VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE); for (j = 0; j < phys_devs[i].count && idx < copy_count; j++) { loader_set_dispatch((void *)&inst->phys_devs_term[idx], inst->disp); inst->phys_devs_term[idx].this_icd = phys_devs[i].this_icd; inst->phys_devs_term[idx].phys_dev = phys_devs[i].phys_devs[j]; - icd->phys_devs[j] = phys_devs[i].phys_devs[j]; pPhysicalDevices[idx] = (VkPhysicalDevice)&inst->phys_devs_term[idx]; idx++; -- cgit v1.2.3