3cf5fced4c
This doesn't map directly to any particular Vulkan object but is, instead, a base class for the internal implementations of both VkFence and VkSemaphore. Its utility will become evident in later patches. The design of vk_sync will look familiar to anyone with significant experience in DRM. The base object itself is just a pointer to a vfunc table with function pointers providing the implementation of the various operations. Depending on how the vk_sync will be used some of of those vfuncs are optional. If it's only going to be used for VkSemaphore, for instance, there's no need for reset(). Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13427>