709f2ece949445cdc38776b7f2c95e82d94a85d8
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.
[Impeller] Call vkQueuePresentKHR through the ContextVK's synchronized graphics queue wrapper (flutter/engine#50509)
Description
Languages
Dart
75.4%
C++
16.4%
Objective-C++
2.7%
Java
2.7%
Objective-C
0.6%
Other
1.8%