This causes barely traceable segfaults on release builds if any internal vulkan call is invalid (due to invalid arguments) because the result is assumed to be correct.
This was discovered in a downstream consumer of ppy.Veldrid where the X11 window number was zero, resulting in a nullptr surface when calling VkSurfaceUtil.CreateSurface using Xlib surface arguments, and causing a segfault when the surface is used later in the init chain.
This causes barely traceable segfaults on release builds if any internal vulkan call is invalid (due to invalid arguments) because the result is assumed to be correct.
This was discovered in a downstream consumer of ppy.Veldrid where the X11 window number was zero, resulting in a nullptr surface when calling VkSurfaceUtil.CreateSurface using Xlib surface arguments, and causing a segfault when the surface is used later in the init chain.