Fix overlay
This commit is contained in:
parent
171cedf181
commit
032dd8b043
2 changed files with 8 additions and 0 deletions
|
@ -128,6 +128,12 @@ impl Overlay {
|
||||||
self.instances.remove(&handle);
|
self.instances.remove(&handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn remove_device(&mut self, handle: VkDevice) {
|
||||||
|
for instance_collection in self.instances.values_mut() {
|
||||||
|
instance_collection.device_collection.remove(&handle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn instance_by_physical_device(&self, physical_device: VkPhysicalDevice) -> Arc<Instance> {
|
pub fn instance_by_physical_device(&self, physical_device: VkPhysicalDevice) -> Arc<Instance> {
|
||||||
match self
|
match self
|
||||||
.instances
|
.instances
|
||||||
|
@ -360,6 +366,7 @@ impl Overlay {
|
||||||
|
|
||||||
self.rendering = Some(rendering);
|
self.rendering = Some(rendering);
|
||||||
self.gui_handler = Some(gui_handler);
|
self.gui_handler = Some(gui_handler);
|
||||||
|
self.rfactor_data = None;
|
||||||
|
|
||||||
write_log!("-> create rendering: end");
|
write_log!("-> create rendering: end");
|
||||||
|
|
||||||
|
|
|
@ -338,6 +338,7 @@ pub(crate) extern "system" fn destroy_device(
|
||||||
unsafe {
|
unsafe {
|
||||||
if let Some(vk_fn) = vk_handles().handle("vkDestroyDevice") {
|
if let Some(vk_fn) = vk_handles().handle("vkDestroyDevice") {
|
||||||
let destroy_device: PFN_vkDestroyDevice = mem::transmute(vk_fn);
|
let destroy_device: PFN_vkDestroyDevice = mem::transmute(vk_fn);
|
||||||
|
overlay().remove_device(device);
|
||||||
|
|
||||||
destroy_device(device, allocator);
|
destroy_device(device, allocator);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue