Vulkan |
public void ExecuteOnMainThreadAfterFrameRendered( Action action )
ExecuteOnMainThreadAfterFrameRendered executes the specified action on the main thread (the same thread the VulkanDevice was created on) and after the rendering of the current frame is complete and the GPU resources for that frame are no longer used.
If this is called on the main thread and if the current frame is already fully rendered (for example after calling WaitUntilIdle, then the action is immediately executed, otherwise the action is saved and it will be executed when on the main thread and after the frame is rendered.
This method can be called from any thread.
The action must never call the same method that called ExecuteOnMainThreadAfterFrameRendered because in case when GpuDevice is disposed (or in some other cases) this the action is called immediately and this could then create an infinite loop.