qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e86a93: virtio-gpu: splitting one extended mo


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] e86a93: virtio-gpu: splitting one extended mode guest fb i...
Date: Fri, 05 Nov 2021 10:13:16 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e86a93f55463c088aa0b5260e915ffbf9f86c62b
      
https://github.com/qemu/qemu/commit/e86a93f55463c088aa0b5260e915ffbf9f86c62b
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2021-11-05 (Fri, 05 Nov 2021)

  Changed paths:
    M hw/display/virtio-gpu-udmabuf-stubs.c
    M hw/display/virtio-gpu-udmabuf.c
    M hw/display/virtio-gpu.c
    M include/hw/virtio/virtio-gpu.h
    M include/ui/console.h

  Log Message:
  -----------
  virtio-gpu: splitting one extended mode guest fb into n-scanouts

When guest is running Linux/X11 with extended multiple displays mode enabled,
the guest shares one scanout resource each time containing whole surface
rather than sharing individual display output separately. This extended frame
is properly splited and rendered on the corresponding scanout surfaces but
not in case of blob-resource (zero copy).

This code change lets the qemu split this one large surface data into multiple
in case of blob-resource as well so that each sub frame then can be blitted
properly to each scanout.

v2: resizing qemu console in virtio_gpu_update_dmabuf to scanout's width and
    height

v3: updating stub function of virtio_gpu_update_dmabuf to match the type

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Message-Id: <20211104065153.28897-5-dongwon.kim@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 1ab2628fc6d7f3343df7007baa57caa26dc83b6b
      
https://github.com/qemu/qemu/commit/1ab2628fc6d7f3343df7007baa57caa26dc83b6b
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2021-11-05 (Fri, 05 Nov 2021)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  ui/gtk-egl: un-tab and re-tab should destroy egl surface and context

An old esurface should be destroyed and set to be NULL when doing
un-tab and re-tab so that a new esurface an context can be created
for the window widget that those will be bound to.

v2: enabling opengl specific routines only when CONFIG_OPENGL is set

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Khairul Anuar Romli <khairul.anuar.romli@intel.com>
Message-Id: <20211104065153.28897-1-dongwon.kim@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 01eb4749f03fe6881388287ede65f6662de11d0a
      
https://github.com/qemu/qemu/commit/01eb4749f03fe6881388287ede65f6662de11d0a
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2021-11-05 (Fri, 05 Nov 2021)

  Changed paths:
    M ui/gtk-egl.c

  Log Message:
  -----------
  ui/gtk-egl: make sure the right context is set as the current

Making the vc->gfx.ectx current before handling texture
associated with it

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Message-Id: <20211104065153.28897-2-dongwon.kim@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 4872a023a593e6519b272a57fea03abe13a7bb00
      
https://github.com/qemu/qemu/commit/4872a023a593e6519b272a57fea03abe13a7bb00
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2021-11-05 (Fri, 05 Nov 2021)

  Changed paths:
    M ui/gtk-egl.c

  Log Message:
  -----------
  ui/gtk-egl: guest fb texture needs to be regenerated when reinitializing egl

If guest fb is backed by dmabuf (blob-resource), the texture bound to the
old context needs to be recreated in case the egl is re-initialized (e.g.
new window for vc is created in case of detaching/reattaching of the tab)

v2: call egl_dmabuf_release_texutre instead of putting 0 to dmabuf->texture
    (Vivek Kasireddy)

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Message-Id: <20211104065153.28897-3-dongwon.kim@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 7cf87257f751b5312ff5f151992016a722e273d8
      
https://github.com/qemu/qemu/commit/7cf87257f751b5312ff5f151992016a722e273d8
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2021-11-05 (Fri, 05 Nov 2021)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  ui/gtk: gd_draw_event returns FALSE when no cairo surface is bound

gd_draw_event shouldn't try to repaint if surface does not exist
for the VC.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Message-Id: <20211104065153.28897-4-dongwon.kim@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 1350ff156b25be65c599ecca9957ce6726c6d383
      
https://github.com/qemu/qemu/commit/1350ff156b25be65c599ecca9957ce6726c6d383
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2021-11-05 (Fri, 05 Nov 2021)

  Changed paths:
    M ui/egl-helpers.c

  Log Message:
  -----------
  ui/gtk-egl: blitting partial guest fb to the proper scanout surface

eb_fb_blit should be able to blit partial image of guest display (blob res)
in case multiple displays are configured for the guest and they are set as 
extended-
desktop mode.

v2: egl_fb includes dmabuf info then make egl_fb_blit position and size
    parameters programmed in dmabuf structure (previously position/size
    parameters were given to egl_fb_blit separately)
    (Vivek Kasireddy)

    changed the commit message as there is no interface change to egl_fb_blit

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Message-Id: <20211104065153.28897-6-dongwon.kim@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: c39deb218178d1fb814dd2138ceff4b541a03d85
      
https://github.com/qemu/qemu/commit/c39deb218178d1fb814dd2138ceff4b541a03d85
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-11-05 (Fri, 05 Nov 2021)

  Changed paths:
    M hw/display/virtio-gpu-udmabuf-stubs.c
    M hw/display/virtio-gpu-udmabuf.c
    M hw/display/virtio-gpu.c
    M include/hw/virtio/virtio-gpu.h
    M include/ui/console.h
    M ui/egl-helpers.c
    M ui/gtk-egl.c
    M ui/gtk.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/egl-20211105-pull-request' 
into staging

gtk: a collection of egl fixes.

# gpg: Signature made Fri 05 Nov 2021 07:30:21 AM EDT
# gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]

* remotes/kraxel/tags/egl-20211105-pull-request:
  ui/gtk-egl: blitting partial guest fb to the proper scanout surface
  ui/gtk: gd_draw_event returns FALSE when no cairo surface is bound
  ui/gtk-egl: guest fb texture needs to be regenerated when reinitializing egl
  ui/gtk-egl: make sure the right context is set as the current
  ui/gtk-egl: un-tab and re-tab should destroy egl surface and context
  virtio-gpu: splitting one extended mode guest fb into n-scanouts

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/e4d96a7eb831...c39deb218178



reply via email to

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