feat(renderer): implement Drop trait for resource cleanup
Ensured that the Logical Device, Debug Messenger, and Instance are destroyed in the correct reverse order when the Renderer is dropped. Added documentation for the cleanup process.
This commit is contained in:
parent
92764f6f2d
commit
70e08dd883
|
|
@ -175,6 +175,21 @@ impl Renderer {
|
|||
}
|
||||
}
|
||||
|
||||
/// Ensures all Vulkan resources are destroyed in the correct order.
|
||||
impl Drop for Renderer {
|
||||
fn drop(&mut self) {
|
||||
unsafe {
|
||||
self.device.destroy_device(None);
|
||||
|
||||
if let Some(utils) = &self.debug_utils {
|
||||
utils.destroy_debug_utils_messenger(self.debug_messenger, None);
|
||||
}
|
||||
|
||||
self.instance.destroy_instance(None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The callback function invoked by Vulkan's validation layers.
|
||||
///
|
||||
/// This function translates Vulkan debug messages into `tracing` events.
|
||||
|
|
|
|||
Loading…
Reference in a new issue