Hi Gerd, > On Tue, May 11, 2021 at 01:36:08AM -0700, Vivek Kasireddy wrote: > > This feature enables the Guest to wait until a flush has been > > performed on a buffer it has submitted to the Host. > > This needs a virtio-spec update documenting the new feature. [Kasireddy, Vivek] Yes, I was planning to do that after getting your thoughts on this feature. > > > + VIRTIO_GPU_CMD_WAIT_FLUSH, > > Why a new command? > > If I understand it correctly you want wait until > VIRTIO_GPU_CMD_RESOURCE_FLUSH is done. We could > extend the VIRTIO_GPU_CMD_RESOURCE_FLUSH command > for that instead. [Kasireddy, Vivek] VIRTIO_GPU_CMD_RESOURCE_FLUSH can trigger/queue a redraw that may be performed synchronously or asynchronously depending on the UI (Glarea is async and gtk-egl is sync but can be made async). I'd like to make the Guest wait until the actual redraw happens (until GlFLush or eglSwapBuffers, again depending on the UI). However, as part of this feature (explicit flush), I'd like to make the Guest wait until the current resource (as specified by resource_flush or set_scanout) is flushed or synchronized. But for a different feature I am thinking of (explicit sync), I'd like to make the Guest wait for the previous buffer/resource submitted (available via old_state->fb). I think it may be possible to accomplish both features by overloading resource_flush but given the various combinations of Guests (Android/Chrome OS, Windows, Linux) and Hosts (Android/Chrome OS, Linux) that are or will be supported with virtio-gpu + i915, I figured adding a new command might be cleaner. Thanks, Vivek > > take care, > Gerd