qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/9] add virgl rendering support.


From: Marc-André Lureau
Subject: Re: [Qemu-devel] [PATCH 0/9] add virgl rendering support.
Date: Fri, 11 Sep 2015 18:10:45 +0200

Hi

On Wed, Sep 9, 2015 at 1:20 PM, Gerd Hoffmann <address@hidden> wrote:
>   Hi,
>
> This patch series adds infrastructure for opengl rendering
> (context management, define scanout textures), adds support
> for this to sdl2 and gtk user interfaces and adds virgl/3d
> mode to virtio-gpu by hooking up the virglrenderer library.
>

Before I dig further, let me give some feedback on testing. I used f22
host, and a f22 guest with xserver/modesetting from git master.

- the sdl2 gl backend doesn't display virgl rendering, I have this
"extra" errors (not the one I usually get from virgl)
Mesa: User error: GL_INVALID_OPERATION in
glFramebufferTexture2D(window-system framebuffer)
Mesa: User error: GL_INVALID_OPERATION in glGetnTexImageARB(missing image)
Mesa: User error: GL_INVALID_OPERATION in glTexSubImage2D(invalid texture image)

- gtk egl works ok

- gtkglarea fails to initialize

- regardless of the backend I get these errors in the guest:
Sep 11 11:58:34 localhost.localdomain
/usr/libexec/gdm-x-session[1669]: (WW) modeset(0): flip queue failed:
Invalid argument
Sep 11 11:58:34 localhost.localdomain
/usr/libexec/gdm-x-session[1669]: (WW) modeset(0): Page flip failed:
Invalid argument
Sep 11 11:58:34 localhost.localdomain
/usr/libexec/gdm-x-session[1669]: (EE) modeset(0): present flip failed

- apart from the aspect-ratio issue (cursor doesn't follow it either),
there is a off-by-one cursor update bug (that I know existed before,
and I plan to look at)

Finally, wayland (gnome-shell --wayland gdm session):
- has some refresh issues that X doesn't have
- give black screen why virtio-vga,virgl=false

> please review,
>   Gerd
>
> Gerd Hoffmann (9):
>   shaders: initialize vertexes once
>   sdl2: quick & dirty flicker workaround
>   ui/console: add opengl context and scanout support interfaces.
>   virtio-gpu: update headers for virgl/3d
>   virtio-gpu: add 3d mode and virgl rendering support.
>   sdl2/opengl: add opengl context and scanout support
>   opengl: add egl-context.[ch] helpers
>   gtk/opengl: add opengl context and scanout support (egl)
>   gtk/opengl: add opengl context and scanout support (GtkGLArea)
>
>  configure                                   |  40 ++
>  hw/display/Makefile.objs                    |   6 +-
>  hw/display/virtio-gpu-3d.c                  | 598 
> ++++++++++++++++++++++++++++
>  hw/display/virtio-gpu.c                     | 130 +++++-
>  include/hw/virtio/virtio-gpu.h              |  22 +-
>  include/standard-headers/linux/virtio_gpu.h | 112 +++++-
>  include/ui/console.h                        |  36 ++
>  include/ui/egl-context.h                    |  14 +
>  include/ui/gtk.h                            |  39 ++
>  include/ui/sdl2.h                           |  22 +-
>  include/ui/shader.h                         |   4 +-
>  trace-events                                |   8 +
>  ui/Makefile.objs                            |   6 +
>  ui/console-gl.c                             |   7 +-
>  ui/console.c                                |  67 +++-
>  ui/egl-context.c                            |  34 ++
>  ui/gtk-egl.c                                | 129 +++++-
>  ui/gtk-gl-area.c                            | 219 ++++++++++
>  ui/gtk.c                                    | 118 ++++--
>  ui/sdl2-2d.c                                |  13 +
>  ui/sdl2-gl.c                                | 133 +++++++
>  ui/sdl2.c                                   |   7 +
>  ui/shader.c                                 |  32 +-
>  23 files changed, 1741 insertions(+), 55 deletions(-)
>  create mode 100644 hw/display/virtio-gpu-3d.c
>  create mode 100644 include/ui/egl-context.h
>  create mode 100644 ui/egl-context.c
>  create mode 100644 ui/gtk-gl-area.c
>
> --
> 1.8.3.1
>
>



-- 
Marc-André Lureau



reply via email to

[Prev in Thread] Current Thread [Next in Thread]