Hi,

> Afaik, the goal of the seperate cursor queue is to update cursor
> quickly (probably to give good input responsiveness). However, the
> VIRTIO_GPU_CMD_UPDATE_CURSOR references a surface that is uploaded via
> the ctrl queue. The same resource id may be reused for cursor update.
> But there is no synchronization between the two queues. So often, the
> cursor set results in last update being shown. Should the kernel wait
> for the update to finish?

Yes (for new cursors).

> But then why having 2 different queues?
> Should the update be done on the cursor queue instead? or should the
> different cursor be cached (with different id) and qemu to do the
> synchronization?

The guest can upload different cursors and then switch between them
without re-uploading and therefore without ctrl queue updates.  Thats
why they have an id in the first place ...

cheers,
  Gerd



Reply via email to