mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
virtio-gpu: Add udmabuf helpers
Add helper functions to create a dmabuf for a resource and mmap it. Also, introduce the fields blob and blob_size so that these helpers can start to use them but the full picture will emerge only after adding create_blob API in patch 8 of this series. To be able to create a dmabuf using the udmabuf driver, Qemu needs to be lauched with the memfd memory backend like this: qemu-system-x86_64 -m 8192m -object memory-backend-memfd,id=mem1,size=8192M -machine memory-backend=mem1 Based-on-patch-by: Gerd Hoffmann <kraxel@redhat.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> Message-Id: <20210526231429.1045476-4-vivek.kasireddy@intel.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
4d01086161
commit
9b60cdf987
3 changed files with 170 additions and 0 deletions
|
@ -50,6 +50,12 @@ struct virtio_gpu_simple_resource {
|
|||
uint32_t scanout_bitmask;
|
||||
pixman_image_t *image;
|
||||
uint64_t hostmem;
|
||||
|
||||
uint64_t blob_size;
|
||||
void *blob;
|
||||
int dmabuf_fd;
|
||||
uint8_t *remapped;
|
||||
|
||||
QTAILQ_ENTRY(virtio_gpu_simple_resource) next;
|
||||
};
|
||||
|
||||
|
@ -238,6 +244,11 @@ void virtio_gpu_update_cursor_data(VirtIOGPU *g,
|
|||
struct virtio_gpu_scanout *s,
|
||||
uint32_t resource_id);
|
||||
|
||||
/* virtio-gpu-udmabuf.c */
|
||||
bool virtio_gpu_have_udmabuf(void);
|
||||
void virtio_gpu_init_udmabuf(struct virtio_gpu_simple_resource *res);
|
||||
void virtio_gpu_fini_udmabuf(struct virtio_gpu_simple_resource *res);
|
||||
|
||||
/* virtio-gpu-3d.c */
|
||||
void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
|
||||
struct virtio_gpu_ctrl_command *cmd);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue