Draft: wsi: use vk runtime for `VkSurface` (fixes crash)
WSI has so far not used vk_object_base
from the vulkan runtime for
VkSurface
.
This causes undefined behavior when an application passes a VkSurface
object to vkSetDebugUtilsObjectNameEXT
because the code to handle it
will cast it to the vulkan base object.
Some games from the the Serious Sam series are affected.
This changes wraps the internal wsi object in a struct that derives from
the vulkan base object so that vkSetDebugUtilsObjectNameEXT
works
correctly with it.
Backends other than x11 still need to be modified but I'd like some feedback on whether my approach can work first.
fixes: #9452 (closed)