anv: Convert to the common sync and submit framework
This is, unfortunately, a large flag-day mega-commit. However, any other approach would likely be fragile and involve a lot more churn as we try to plumb the new vk_fence and vk_semaphore primitives into ANV's submit code before we delete it all. Instead, we do it all in one go and accept the consequences. While this should be mostly functionally equivalent to the previous code, there is one potential perf-affecting change. The command buffer chaining optimization no longer works across VkSubmitInfo structs. Within a single VkSubmitInfo, we will attempt to chain all the command buffers together but we no longer try to chain across a VkSubmitInfo boundary. Hopefully, this isn't a significant perf problem. If it ever is, we'll have to teach the core runtime code how to combine two or more VkSubmitInfos into a single vk_queue_submit. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13427>
This commit is contained in: