Jason Simmons 709f2ece94 [Impeller] Call vkQueuePresentKHR through the ContextVK's synchronized graphics queue wrapper (flutter/engine#50509)
SwapchainImplVK had been querying the physical device for a queue that supports presentation on the specified surface.  However, the selected queue is typically the same VkQueue instance as the graphics queue provided by ContextVK.

This could cause a thread policy violation where the raster thread is calling vkQueuePresentKHR while the IO thread is calling vkQueueSubmit on the same queue during image decoding.

This PR moves the vkQueuePresentKHR call to the ContextVK's graphics queue wrapper, which serializes access to the VkQueue.
2024-02-09 21:50:01 +00:00
Languages
Dart 75%
C++ 16.5%
Objective-C++ 2.9%
Java 2.8%
Objective-C 0.7%
Other 1.9%