[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 08/11] contrib: add vhost-user-gpu
From: |
Gerd Hoffmann |
Subject: |
Re: [Qemu-devel] [PATCH v6 08/11] contrib: add vhost-user-gpu |
Date: |
Fri, 26 Apr 2019 09:46:45 +0200 |
User-agent: |
NeoMutt/20180716 |
Hi,
> +#ifdef CONFIG_LIBDRM_INTEL
> +static bool
> +intel_alloc_bo(struct drm_buffer *buf)
> +{
> + uint32_t tiling = I915_TILING_NONE;
> +
> + buf->intel_bo = drm_intel_bo_alloc_tiled(buf->dev->bufmgr,
> "vhost-user-gpu",
> + buf->width, buf->height,
> + (buf->bpp / 8), &tiling,
> + &buf->stride, 0);
Why do you go for intel specific code here?
Can't you do the same with gbm_bo_create() or
gbm_bo_create_with_modifiers() ?
> +static bool
> +intel_map_bo(struct drm_buffer *buf)
> +{
> + if (drm_intel_gem_bo_map_gtt(buf->intel_bo) != 0) {
> + return false;
> + }
gbm_bo_map()
> +static bool
> +intel_export_bo_to_prime(struct drm_buffer *buffer, int *fd)
> +{
> + if (drm_intel_bo_gem_export_to_prime(buffer->intel_bo, fd) < 0) {
> + return false;
> + }
gbm_bo_get_fd()
> +get_pixman_format(uint32_t virtio_gpu_format)
> +{
> + switch (virtio_gpu_format) {
> +#ifdef HOST_WORDS_BIGENDIAN
> + case VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM:
> + return PIXMAN_b8g8r8x8;
Move that to a header for sharing? Simliar to the bswap helpers?
> +static void
> +virgl_cmd_create_resource_3d(VuGpu *g,
> + struct virtio_gpu_ctrl_command *cmd)
> +{
> + struct virtio_gpu_resource_create_3d c3d;
> + struct virgl_renderer_resource_create_args args;
> +
> + VUGPU_FILL_CMD(c3d);
> +
> + args.handle = c3d.resource_id;
> + args.target = c3d.target;
> + args.format = c3d.format;
> + args.bind = c3d.bind;
> + args.width = c3d.width;
> + args.height = c3d.height;
> + args.depth = c3d.depth;
> + args.array_size = c3d.array_size;
> + args.last_level = c3d.last_level;
> + args.nr_samples = c3d.nr_samples;
> + args.flags = c3d.flags;
> + virgl_renderer_resource_create(&args, NULL, 0);
> +}
The virtio_gpu_resource_create_3d -> virgl_renderer_resource_create_args
mapping looks like an opportunity for code sharing too.
Hmm, but virgl_renderer_resource_create seems to be the only call with
an args struct, so maybe not worth the effort for this single case.
cheers,
Gerd
- Re: [Qemu-devel] [PATCH v6 04/11] contrib: add vhost-user-input, (continued)
[Qemu-devel] [PATCH v6 08/11] contrib: add vhost-user-gpu, Marc-André Lureau, 2019/04/23
- Re: [Qemu-devel] [PATCH v6 08/11] contrib: add vhost-user-gpu,
Gerd Hoffmann <=
[Qemu-devel] [PATCH v6 09/11] virtio-gpu: split virtio-gpu, introduce virtio-gpu-base, Marc-André Lureau, 2019/04/23
[Qemu-devel] [PATCH v6 11/11] hw/display: add vhost-user-vga & gpu-pci, Marc-André Lureau, 2019/04/23
[Qemu-devel] [PATCH v6 10/11] virtio-gpu: split virtio-gpu-pci & virtio-vga, Marc-André Lureau, 2019/04/23
Re: [Qemu-devel] [PATCH v6 00/11] vhost-user for input & GPU, no-reply, 2019/04/23
Re: [Qemu-devel] [PATCH v6 00/11] vhost-user for input & GPU, no-reply, 2019/04/23
Re: [Qemu-devel] [PATCH v6 00/11] vhost-user for input & GPU, Michael S. Tsirkin, 2019/04/24