MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ cleanup()

void MayaFlux::Core::WindowRenderContext::cleanup ( VKContext context)

Definition at line 14 of file BackendWindowHandler.cpp.

15{
16 vk::Device device = context.get_device();
17
18 for (auto& framebuffer : framebuffers) {
19 if (framebuffer) {
20 framebuffer->cleanup(device);
21 }
22 }
23 framebuffers.clear();
24
25 if (render_pass) {
26 render_pass->cleanup(device);
27 render_pass.reset();
28 }
29
30 for (auto& img : image_available) {
31 if (img) {
32 device.destroySemaphore(img);
33 }
34 }
35 image_available.clear();
36
37 for (auto& render : render_finished) {
38 if (render) {
39 device.destroySemaphore(render);
40 }
41 }
42 render_finished.clear();
43
44 for (auto& fence : in_flight) {
45 if (fence) {
46 device.destroyFence(fence);
47 }
48 }
49 in_flight.clear();
50
51 if (swapchain) {
52 swapchain->cleanup();
53 swapchain.reset();
54 }
55
56 if (surface) {
57 context.destroy_surface(surface);
58 surface = nullptr;
59 }
60
61 window->set_graphics_registered(false);
62}
std::vector< vk::Semaphore > image_available
std::unique_ptr< VKSwapchain > swapchain
std::vector< std::unique_ptr< VKFramebuffer > > framebuffers
std::vector< vk::Semaphore > render_finished
std::shared_ptr< VKRenderPass > render_pass

References MayaFlux::Core::VKContext::destroy_surface(), framebuffers, MayaFlux::Core::VKContext::get_device(), image_available, in_flight, render_finished, render_pass, surface, swapchain, and window.

+ Here is the call graph for this function: