For apps that run with multiple instances, it's perfectly valid to have instances
remaining at DestroyInstace() time so removing that assert from param_checker.
Also, the assert appears to have been cut-and-pasted into DestroyDevice of both
param_checker and object_tracker. The same logic applies for apps that use
multiple devices. Running vulkancts with layers enabled found these issues.
layer_data_map.erase(pTable);
pc_instance_table_map.erase(key);
- assert(pc_instance_table_map.size() == 0 && "Should not have any instance mappings hanging around");
}
bool PostEnumeratePhysicalDevices(
get_dispatch_table(pc_device_table_map, device)->DestroyDevice(device, pAllocator);
pc_device_table_map.erase(key);
- assert(pc_device_table_map.size() == 0 && "Should not have any instance mappings hanging around");
}
bool PostGetDeviceQueue(
gedd_txt.append(' VkLayerDispatchTable *pDisp = get_dispatch_table(object_tracker_device_table_map, device);')
gedd_txt.append(' pDisp->DestroyDevice(device, pAllocator);')
gedd_txt.append(' object_tracker_device_table_map.erase(key);')
- gedd_txt.append(' assert(object_tracker_device_table_map.size() == 0 && "Should not have any instance mappings hanging around");')
gedd_txt.append('')
gedd_txt.append('}')
gedd_txt.append('')