| 263 | } |
| 264 | |
| 265 | void finalize() |
| 266 | { |
| 267 | SDL_DestroyWindow(sdl_window); |
| 268 | // Free wasm engine |
| 269 | unwatch_wasm(wa_watcher); |
| 270 | // Free cgpu objects |
| 271 | cgpu_wait_queue_idle(gfx_queue); |
| 272 | cgpu_wait_fences(&present_fence, 1); |
| 273 | cgpu_free_fence(present_fence); |
| 274 | for (uint32_t i = 0; i < swapchain->buffer_count; i++) |
| 275 | { |
| 276 | cgpu_free_texture_view(views[i]); |
| 277 | } |
| 278 | cgpu_free_swapchain(swapchain); |
| 279 | cgpu_free_surface(device, surface); |
| 280 | cgpu_free_command_buffer(cmd); |
| 281 | cgpu_free_command_pool(pool); |
| 282 | cgpu_free_render_pipeline(pipeline); |
| 283 | cgpu_free_root_signature(root_sig); |
| 284 | cgpu_free_queue(gfx_queue); |
| 285 | cgpu_free_device(device); |
| 286 | cgpu_free_instance(instance); |
| 287 | } |
| 288 | |
| 289 | void ProgramMain(void* usrdata) |
| 290 | { |
no test coverage detected