Files
Henrik Rydgård f7c2c55e83 Vulkan: Report surface init failures instead of asserting later
VulkanGraphicsContext::InitSurface() threw away VulkanContext::InitSurface()'s
VkResult and carried on, so a failed surface init surfaced as
_dbg_assert_(GetAvailablePresentModes().size() > 0) in the VKContext
constructor rather than as a graphics error with the usual backend fallback.
The vkCreate*SurfaceKHR failure path in ReinitSurface() didn't log anything
either, so the assert was the only trace of it.

Now ReinitSurface() logs and sets init_error_ for all three ways it can bail
(surface creation, ChooseQueue, present mode enumeration), InitSurface()
checks the result, and MainThreadFunc() passes the message back out instead of
writing it to a local it then drops - Windows/main.cpp was reporting
"Failed to initialize main thread function." to the user.

Also deletes the Application on that failure path, which was leaked.
2026-08-30 01:18:37 +02:00
..
2025-01-17 18:06:24 +01:00
2019-01-16 11:41:01 -05:00
2019-01-16 11:39:34 -05:00
2026-05-05 09:18:15 +02:00
2025-01-10 21:27:12 +01:00
2026-03-09 11:02:04 +01:00
2026-03-09 11:02:04 +01:00
2026-08-24 11:13:00 +02:00
2026-08-24 11:13:00 +02:00
2025-06-28 14:15:42 +02:00

Just open the MSVC project file and build.