| 2241 | } |
| 2242 | |
| 2243 | void WindowRun() |
| 2244 | { |
| 2245 | EXIT_IF(g_window_ctx == nullptr); |
| 2246 | |
| 2247 | // KYTY_PROFILER_THREAD("Thread_Window"); |
| 2248 | EASY_MAIN_THREAD |
| 2249 | |
| 2250 | GameApi* api = nullptr; |
| 2251 | |
| 2252 | g_window_ctx->mutex.Lock(); |
| 2253 | { |
| 2254 | EXIT_IF(g_window_ctx->graphic_initialized); |
| 2255 | |
| 2256 | WindowCreate(g_window_ctx); |
| 2257 | VulkanCreate(g_window_ctx); |
| 2258 | api = game_create_api(); |
| 2259 | |
| 2260 | g_window_ctx->game = api; |
| 2261 | |
| 2262 | g_window_ctx->graphic_initialized = true; |
| 2263 | g_window_ctx->graphic_initialized_condvar.Signal(); |
| 2264 | } |
| 2265 | g_window_ctx->mutex.Unlock(); |
| 2266 | |
| 2267 | game_main_loop(api, &g_window_ctx->graphic_ctx); |
| 2268 | // game_delete_api(api); |
| 2269 | |
| 2270 | Core::SubsystemsListSingleton::Instance()->ShutdownAll(); |
| 2271 | std::_Exit(0); |
| 2272 | } |
| 2273 | |
| 2274 | VkSurfaceCapabilitiesKHR* VulkanGetSurfaceCapabilities() |
| 2275 | { |
no test coverage detected