On 15 September 2015 at 01:17, Marc-André Lureau <marcandre.lur...@gmail.com> wrote: > Hi > > On Mon, Sep 14, 2015 at 4:06 PM, Gerd Hoffmann <kra...@redhat.com> wrote: >> 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 ... > > Ok, but the cursor id is reused most of the time. So there are at > least two things to fix: use different cursor ids for different cursor > data (with some cache management probably), fix kernel to only upload > new resource id and wait for data to be transfered. Is that correct?
Currently the kernel driver does this: ret = virtio_gpu_cmd_transfer_to_host_2d(vgdev, qobj->hw_res_handle, 0, cpu_to_le32(64), cpu_to_le32(64), 0, 0, &fence); if (!ret) { reservation_object_add_excl_fence(qobj->tbo.resv, &fence->f); virtio_gpu_object_wait(qobj, false); } before moving the cursor, shouldn't that suffice? Do we fail the transfer sometimes? Dave.