В вулкане есть требование, что бы image и swapchain были больше 0 по всем осям.
А еще есть требование, что бы размер swapchain-а был между текущими min и max, которые можно получить у девайса.
Которые могут быть с нулями.
Как тогда создать swapchain? Или пересоздать при изменении размера.
mev предлагает пользователю API Surface, который прячет все ужасы вулканского WSI, включая семафоры, пересоздание swapchain-ов с использование механизма retire, SUBOPTIMAL и OUT_OF_DATE ситуации.При запросе следующего фрейма
mev::Surface может пересоздать swapchain на лету если тот устарел... или его вообще еще нет.А так же удалит старые, когда можно будет - спасибо
VK_EXT_swapchain_maintenance1 - без ожидания остановки всего девайса.Итак, swapchain безнадежно устарел, пора пересоздать. А максимальная высота и/или ширина сейчас 0. Что делать?
Отдавать ошибку пользователю? Как он ее будет хэндлить? Не хотелось бы вообще думать об этом.
Может создать image размера 1х1 и притвориться, что это и есть картинка для этого surface? А почему бы и нет. Как пользователь узнает? Surface же в 0 пикселей.