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