Hi, > > convert_to_hw_box(&box, &args->box); > > if (!vgdev->has_virgl_3d) { > > virtio_gpu_cmd_transfer_to_host_2d > > - (vgdev, qobj, offset, > > + (vgdev, gem_to_virtio_gpu_obj(objs->objs[0]), offset, > > box.w, box.h, box.x, box.y, NULL); > > + virtio_gpu_array_put_free(objs); > Don't we need this in non-3D case as well? No, ... > > virtio_gpu_cmd_transfer_to_host_3d > > - (vgdev, qobj, > > + (vgdev, > > vfpriv ? vfpriv->ctx_id : 0, offset, > > - args->level, &box, fence); > > - reservation_object_add_excl_fence(qobj->base.base.resv, > > - &fence->f); > > + args->level, &box, objs, fence); ... 3d case passes the objs list to virtio_gpu_cmd_transfer_to_host_3d, so it gets added to the vbuf and released when the command is finished. cheers, Gerd _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization