···379379 //! @todo We should be creating the handle ourselves in the future.
380380 assert(!xrt_graphics_sync_handle_is_valid(sync_handle));
381381382382+383383+ /*!
384384+ * @!todo This is a temporary solution, the first step in getting proper
385385+ * synchronization on Vulkan. The second is to create a fence and share
386386+ * it similarly to what the EGL client code does. Even with a fence it
387387+ * won't help that much as the multi-compositor waits on the fence in
388388+ * commit before proceeding. To fix that a thread will be added in the
389389+ * multi-compositor to wait on the fence and allow commit to return.
390390+ * Better still is using Semaphores for it all.
391391+ */
392392+ struct vk_bundle *vk = &c->vk;
393393+ vk->vkDeviceWaitIdle(vk->device);
394394+382395 return xrt_comp_layer_commit(&c->xcn->base, frame_id, XRT_GRAPHICS_SYNC_HANDLE_INVALID);
383396}
384397