summaryrefslogtreecommitdiff
path: root/virtio-gpu.tex
AgeCommit message (Collapse)Author
2018-06-29virtio-gpu: Support host-allocated backing storagevirtio-gpuLaurent Pinchart
The virtio-gpu protocol is based on opaque host resources backed by guest-allocated memory. This requires transferring data from guest framebuffers to host display device buffers. When the host supports VIRGL, the GPU is used for both 2D and 3D rendering, in which case the memory transfer can take the form of a DMA operation without incurring significant costs. However, when VIRGL support isn't available, 2D transfers require a CPU memory copy for every page flip. Display is slowed down to an unusable state. To solve this problem, extend the virtio-gpu protocol with the ability for the host to allocate resource backing storage and map it to the guest. The allocated memory can then be used directly by the host-side display device, removing the need for memory copy operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2018-06-29Add virtio gpu device specification.Gerd Hoffmann
Resuming the effort to get the gpu device specs merged. Support for 2d mode (3d/virgl mode is not covered by this patch) has been added to the linux kernel version 4.2 and to qemu version 2.4. git branch: https://www.kraxel.org/cgit/virtio-spec/commit/?h=virtio-gpu Rendered versions are available here: https://www.kraxel.org/virtio/virtio-v1.0-cs03-virtio-gpu.pdf https://www.kraxel.org/virtio/virtio-v1.0-cs03-virtio-gpu.html#x1-2800007 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>