[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