You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Vulkan embedder API takes a single VkQueue, which is used for both graphics and transfers. But Flutter does uploads on the IO thread, and so this is not currently safe. We could internally work around this problem in the engine by wrapping queue calls with a lock, but this doesn't solve the problem since the user-authored embedder may also submit things to this queue on the raster thread.
In the meantime, embedder authors can work around this problem by intercepting GetDeviceProcAddr in the instance proc address callback supplied to the engine. And then the custom GetDeviceProcAddr can intercept vkQueueSubmit and vkQueueWaitIdle with a version that blocks on a mutex lock.