gfx-rs / portability

Vulkan Portability Implementation
Mozilla Public License 2.0
383 stars 25 forks source link

Portability and GZDoom #197

Closed alexey-lysiuk closed 5 years ago

alexey-lysiuk commented 5 years ago

This is a continuation of discussion I started in #125 by mistake. Sorry about that. Historically, ZDoom and now GZDoom as its successor use this forum for bug reporting and feature suggestions. An attempt to use GitHub issues was not very productive for us.

I take a look at EXT_metal_surface as we are shipping with the latest MoltenVK anyway. For testing with its older versions I can always restore code with MVK_macos_surface.

Regarding the issue with surface lost during present, I managed to track it to this line so far. As it works on three major OSes with various graphics hardware, I just expected the same behavior with Portability. Please note that Vulkan renderer in GZDoom is still quite new, so some corner cases can lack proper handling.

alexey-lysiuk commented 5 years ago

Like you suggested, recreation of swapchain after receiving VK_ERROR_SURFACE_LOST_KHR works just fine. GZDoom is now using EXT_metal_surface which works with Portability 0.7 and MoltenVK 1.0.36 without a problem. Support to MVK_macos_surface still exists, although it is not used by default.