diff mbox series

[v2,09/18] vhost-user-gpu: skip VHOST_USER_GPU_UPDATE when !PIXMAN

Message ID 20230918135206.2739222-10-marcandre.lureau@redhat.com
State New
Headers show
Series Make Pixman an optional dependency | expand

Commit Message

Marc-André Lureau Sept. 18, 2023, 1:51 p.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

This simply means that 2d drawing updates won't be handled, but 3d
should work.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/display/vhost-user-gpu.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Paolo Bonzini Sept. 19, 2023, 12:56 p.m. UTC | #1
On 9/18/23 15:51, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> This simply means that 2d drawing updates won't be handled, but 3d
> should work.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

How bad is this?  Is it worth making the device dependent on pixman 
altogether?

Paolo

> ---
>   hw/display/vhost-user-gpu.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c
> index 1150521d9d..709c8a02a1 100644
> --- a/hw/display/vhost-user-gpu.c
> +++ b/hw/display/vhost-user-gpu.c
> @@ -307,6 +307,7 @@ vhost_user_gpu_handle_display(VhostUserGPU *g, VhostUserGpuMsg *msg)
>           dpy_gl_update(con, m->x, m->y, m->width, m->height);
>           break;
>       }
> +#ifdef CONFIG_PIXMAN
>       case VHOST_USER_GPU_UPDATE: {
>           VhostUserGpuUpdate *m = &msg->payload.update;
>   
> @@ -334,6 +335,7 @@ vhost_user_gpu_handle_display(VhostUserGPU *g, VhostUserGpuMsg *msg)
>           }
>           break;
>       }
> +#endif
>       default:
>           g_warning("unhandled message %d %d", msg->request, msg->size);
>       }
Marc-André Lureau Sept. 19, 2023, 1:02 p.m. UTC | #2
Hi

On Tue, Sep 19, 2023 at 4:56 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 9/18/23 15:51, marcandre.lureau@redhat.com wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > This simply means that 2d drawing updates won't be handled, but 3d
> > should work.
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> How bad is this?  Is it worth making the device dependent on pixman
> altogether?
>

It will issue warnings for 2d commands, and display a blank output.
But 3d / dmabuf will be displayed.

(ideally, some day when QEMU won't do any graphics/ui, the
GPU/renderer process will issue the draw commands to a client
directly, without going through the QEMU process - using
org.qemu.Display1.Listener DBus interface)
diff mbox series

Patch

diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c
index 1150521d9d..709c8a02a1 100644
--- a/hw/display/vhost-user-gpu.c
+++ b/hw/display/vhost-user-gpu.c
@@ -307,6 +307,7 @@  vhost_user_gpu_handle_display(VhostUserGPU *g, VhostUserGpuMsg *msg)
         dpy_gl_update(con, m->x, m->y, m->width, m->height);
         break;
     }
+#ifdef CONFIG_PIXMAN
     case VHOST_USER_GPU_UPDATE: {
         VhostUserGpuUpdate *m = &msg->payload.update;
 
@@ -334,6 +335,7 @@  vhost_user_gpu_handle_display(VhostUserGPU *g, VhostUserGpuMsg *msg)
         }
         break;
     }
+#endif
     default:
         g_warning("unhandled message %d %d", msg->request, msg->size);
     }