diff options
| author | Mark Young <marky@lunarg.com> | 2017-03-10 17:31:18 -0700 |
|---|---|---|
| committer | Mark Young <marky@lunarg.com> | 2017-03-16 10:38:05 -0600 |
| commit | 2becce6c2922a9bd9866ec62aa74dfd0de2c655d (patch) | |
| tree | 739828aa75006f2284978c44757da708e89b34dc /loader/loader.h | |
| parent | 33ececd03ff44cbb37ead0359ce5a5964d3c3b1c (diff) | |
| download | usermoji-2becce6c2922a9bd9866ec62aa74dfd0de2c655d.tar.xz | |
loader: Fix vkEnumeratePhysicalDeviceGroupsKHX
vkEnumeratePhysicalDeviceGroupsKHX was not properly generating the
physical device information or groups. Several changes resolve
most of the issue, however, I'm still seeing issues when certain
layers enabled.
Change-Id: Id8d4553da25491a3d0a97e8d44e21340b41bc09c
Diffstat (limited to 'loader/loader.h')
| -rw-r--r-- | loader/loader.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/loader/loader.h b/loader/loader.h index a341f6cf..78160d0d 100644 --- a/loader/loader.h +++ b/loader/loader.h @@ -223,12 +223,23 @@ struct loader_instance_dispatch_table { struct loader_instance { struct loader_instance_dispatch_table *disp; // must be first entry in structure + // We need to manually track physical devices over time. If the user + // re-queries the information, we don't want to delete old data or + // create new data unless necessary. uint32_t total_gpu_count; uint32_t phys_dev_count_term; struct loader_physical_device_term **phys_devs_term; uint32_t phys_dev_count_tramp; struct loader_physical_device_tramp **phys_devs_tramp; + // We also need to manually track physical device groups, but we don't need + // loader specific structures since we have that content in the physical + // device stored internal to the public structures. + uint32_t phys_dev_group_count_term; + struct VkPhysicalDeviceGroupPropertiesKHX **phys_dev_groups_term; + uint32_t phys_dev_group_count_tramp; + struct VkPhysicalDeviceGroupPropertiesKHX **phys_dev_groups_tramp; + struct loader_instance *next; uint32_t total_icd_count; |
