On 2026/03/04 0:14, Dmitry Osipenko wrote:
Hello,

This is follow up to DRM native context v16 [1] and MAP_FIXED API v10 [2]
virtio-gpu patches that has been reviewed previously and were waiting for
a new release of libvirglrenderer 1.3.0.

[1] 
https://lore.kernel.org/qemu-devel/[email protected]/
[2] 
https://lore.kernel.org/qemu-devel/[email protected]/

Changelog:

v22:- Added r-b from Marc-André Lureau to ui/gdk patch.

     - Corrected qemu_egl_create_context() to take explicit shared GL context
       arg needed by gtk-egl display, as was suggested by Akihiko Odaki.

     - Changed virtio-gpu BHs to use re-entrance guard as was suggested by
       Akihiko Odaki.

Everything looks good to me. For the entire series:

Reviewed-by: Akihiko Odaki <[email protected]>


v21:- Moved virtio-gpu to use iohandler_get_aio_context() as was
       suggested by Akihiko Odaki.

     - Updated EGL context-create helper and displays using it to make
       helper take care of using appropriate parent GL context by itself,
       without a need to switch GL context. Done it all in a single patch:

         ui/egl: Don't change bound GL context when creating new context

     - Cleaned up GDK context-restoring code as was suggested by Akihiko Odaki.

v20:- Adanbonded GL context unbinding approach as it created difficulties
       with GTK assuming UI toolkit processed from a single thread. Omitted
       all unbind-context patches and added new patch instead that makes
       virtio-gpu to process cmds only from main-loop thread:

         virtio-gpu: Bounce virtio_gpu_ctrl_bh() to main-loop thread

     - Added r-b from Akihiko Odaki to reviewed v19 patches.

     - Added patches restoring GL context when new ctx created for
       dbus/spice/egl-headless displays.

v19:- Further improved improved naming of functions and terminology RE
       GL context binding. Suggested by Akihiko Odaki.

     - Added new patch "ui/gdk: Restore original context after new context
       creation" in addition to improved "ui/sdl2: Restore original context"
       that now getd actual bound GL context and restores to it instead
       of restoring to the console's ctx, for consistency with the rest
       of GL context management fixes that ensure context is bound only
       when necessary.

     - Improved virtio_gpu_virgl_update_render_state() with force_ctx_0()
       and unbind_ctx() to make deferred GPU resetting maintain bound GL
       context properly.

v18:- Changed dpy_gl_ctx_make_current() to use first scanout when unsetting
       virgl's GL ctx0 and improved naming of cmd-processing function.
       Suggested by Akihiko Odaki.

     - Added "ui/gdk: Unset context after GL operations" patch after
       realizing GDK/GL code needed more gdk_gl_context_clear_current().

v17:- Rebased patches on recent upstream, updated doc patches with new
       drm native contexts supported by libvirglrenderer.

     - Applied minor change that was requested from Akihiko Odaki
       by moving virtio_gpu_device_realize() for MAP_FIXED v10.

     - Added virtio_gpu_virgl_update_render_state() to virtio_gpu_fence_poll()
       that was missed in MAP_FIXED v10.

     - Added new patches fixing another GL context switching problem I ran
       into recently with virgl commands unexpectedly processed from CPU
       thread instead main-loop:

         ui/sdl2: Unset context after GL operations
         ui/gtk-egl: Unset context after GL operations
         virtio-gpu: Unset context after GL operations

Alex Bennée (1):
   docs/system: virtio-gpu: Document host/guest requirements

Dmitry Osipenko (16):
   ui/gtk: Don't disable scanout when display is refreshed
   ui/sdl2: Don't disable scanout when display is refreshed
   ui/egl: Don't change bound GL context when creating new context
   ui/gdk: Restore original context after new context creation
   ui/sdl2: Restore original context after new context creation
   virtio-gpu: Ensure BHs are invoked only from main-loop thread
   virtio-gpu: Handle virgl fence creation errors
   virtio-gpu: Support asynchronous fencing
   virtio-gpu: Support DRM native context
   docs/system: virtio-gpu: Add link to Mesa VirGL doc
   docs/system: virtio-gpu: Update Venus link
   virtio-gpu: Remove superfluous memory_region_set_enabled()
   virtio-gpu: Validate hostmem mapping offset
   virtio-gpu: Replace finish_unmapping with mapping_state
   virtio-gpu: Destroy virgl resources on virtio-gpu reset
   virtio-gpu: Support mapping hostmem blobs with map_fixed

Pierre-Eric Pelloux-Prayer (1):
   ui/sdl2: Implement dpy dmabuf functions

  docs/system/devices/virtio/virtio-gpu.rst | 121 ++++++-
  hw/display/trace-events                   |   2 +-
  hw/display/virtio-gpu-gl.c                |  62 +++-
  hw/display/virtio-gpu-virgl.c             | 410 ++++++++++++++++++++--
  hw/display/virtio-gpu.c                   |  21 +-
  hw/virtio/virtio.c                        |  10 +
  include/hw/virtio/virtio-gpu.h            |  23 +-
  include/hw/virtio/virtio.h                |  10 +
  include/ui/egl-context.h                  |   3 +-
  include/ui/sdl2.h                         |   7 +
  meson.build                               |   8 +-
  ui/dbus.c                                 |   4 +-
  ui/egl-context.c                          |   6 +-
  ui/egl-headless.c                         |   4 +-
  ui/gtk-egl.c                              |   5 +-
  ui/gtk-gl-area.c                          |  13 +-
  ui/sdl2-gl.c                              |  74 +++-
  ui/sdl2.c                                 |  42 +++
  ui/spice-display.c                        |   4 +-
  19 files changed, 735 insertions(+), 94 deletions(-)



Reply via email to