qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 398d1c: ui/console: move check for compatible


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 398d1c: ui/console: move check for compatible GL context
Date: Tue, 15 Mar 2022 10:49:47 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 398d1c91ed58fb7fe3dd3e9596519678c816bb69
      
https://github.com/qemu/qemu/commit/398d1c91ed58fb7fe3dd3e9596519678c816bb69
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M ui/console.c

  Log Message:
  -----------
  ui/console: move check for compatible GL context

Move GL context compatibility check in dpy_compatible_with(), and use
recommended error reporting.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: a62c4a178fb154a3b810870502cb4c63a6b4cf28
      
https://github.com/qemu/qemu/commit/a62c4a178fb154a3b810870502cb4c63a6b4cf28
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M include/ui/console.h
    M ui/console.c
    M ui/dbus.c
    M ui/egl-headless.c
    M ui/gtk.c
    M ui/sdl2.c
    M ui/spice-display.c

  Log Message:
  -----------
  ui/console: move dcl compatiblity check to a callback

As expected from the "compatible_dcl" comment, a simple comparison of
ops isn't enough. The following patch will fix a regression introduced
by this limited check by extending the compatibility callback for
egl-headless.

For now, this patch simply replaces the the "compatible_dcl" ops pointer
with a "dpy_gl_ctx_is_compatible_ctx" callback.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: cd19c25fbfaeee8865a2f8dcb532d758615bc8c9
      
https://github.com/qemu/qemu/commit/cd19c25fbfaeee8865a2f8dcb532d758615bc8c9
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M ui/egl-headless.c

  Log Message:
  -----------
  ui/console: egl-headless is compatible with non-gl listeners

Fix a regression introduced by commit 5e79d516e ("ui: split the GL
context in a different object").

Reported-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 417a231947fb19b842fec3922713ffe3142b2c6c
      
https://github.com/qemu/qemu/commit/417a231947fb19b842fec3922713ffe3142b2c6c
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M ui/dbus-console.c
    M ui/dbus.c
    M ui/dbus.h

  Log Message:
  -----------
  ui/dbus: associate the DBusDisplayConsole listener with the given console

DBusDisplayConsole is specific to a given QemuConsole.

Fixes: commit 142ca628 ("ui: add a D-Bus display backend")
Reported-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 4b7b661d8feccb8d12289bce7814e89ef827ecce
      
https://github.com/qemu/qemu/commit/4b7b661d8feccb8d12289bce7814e89ef827ecce
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M ui/console.c

  Log Message:
  -----------
  ui/console: move console compatibility check to dcl_display_console()

The current checks are done at registration time only. However, if a DCL
has no specific console specified, it may be switched dynamically with
console_select() later on.

Let's move the checks when displaychangelistener_display_console() is
called, which includes registration time and remains fatal if the
specified console is incompatible.

Note: we may want to display the compatibility error to the DCL, this is
left for a future improvement.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 8fe496adacc03fe37fba6765d34618a390fabdc8
      
https://github.com/qemu/qemu/commit/8fe496adacc03fe37fba6765d34618a390fabdc8
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M ui/shader.c

  Log Message:
  -----------
  ui/shader: fix potential leak of shader on error

Value of 0 for program and shaders are silently ignored and indicate error.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 532042d57387d9144f38498a7210a5a50bb9bc31
      
https://github.com/qemu/qemu/commit/532042d57387d9144f38498a7210a5a50bb9bc31
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M ui/shader.c

  Log Message:
  -----------
  ui/shader: free associated programs

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 26b032b9b746782a1ee5156a70cc074b6de5af0f
      
https://github.com/qemu/qemu/commit/26b032b9b746782a1ee5156a70cc074b6de5af0f
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M ui/console.c

  Log Message:
  -----------
  ui/console: add a dpy_gfx_switch callback helper

Slight code improvement.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: c84ab0a500a84851debd1d4485e72325da98c778
      
https://github.com/qemu/qemu/commit/c84ab0a500a84851debd1d4485e72325da98c778
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M ui/console.c

  Log Message:
  -----------
  ui/console: optionally update after gfx switch

When switching to the dummy surface, we should also call gfx_update.
But when using GL, we shouldn't call it.

By making it an argument to displaychangelistener_gfx_switch(), it will
be explicit, and cannot be forgotten that easily.

Fixes: commit ebced091 ("console: save current scanout details")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 589089feee5bf5110f21fd582f9c2c479ae718a2
      
https://github.com/qemu/qemu/commit/589089feee5bf5110f21fd582f9c2c479ae718a2
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-15 (Tue, 15 Mar 2022)

  Changed paths:
    M include/ui/console.h
    M ui/console.c
    M ui/dbus-listener.c
    M ui/dbus.c

  Log Message:
  -----------
  ui/dbus: fix texture sharing

The DBus listener naively create, update and destroy textures without
taking into account other listeners. The texture were shared, but
texture update was unnecessarily duplicated.

Teach DisplayGLCtx to do optionally shared texture handling. This is
only implemented for DBus display at this point, however the same
infrastructure could potentially be used for other future combinations.

Reported-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: 2fa2386e38387f592a0abf871eabb16e7a43dcd1
      
https://github.com/qemu/qemu/commit/2fa2386e38387f592a0abf871eabb16e7a43dcd1
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-15 (Tue, 15 Mar 2022)

  Changed paths:
    M ui/dbus-listener.c

  Log Message:
  -----------
  ui/dbus: do not send 2d scanout until gfx_update

gfx_switch() is called to set the new_surface, not necessarily to
display it. It should be displayed after gfx_update(). Send the whole
scanout only in this case.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: e1c676a254b012779db87166a1f26db6886a8bce
      
https://github.com/qemu/qemu/commit/e1c676a254b012779db87166a1f26db6886a8bce
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2022-03-15 (Tue, 15 Mar 2022)

  Changed paths:
    M ui/console.c

  Log Message:
  -----------
  ui/console: call gfx_switch() even if the current scanout is GL

egl-headless depends on the backing surface to be set before texture are
set and updated. Display it (update=true) iff the current scanout kind
is SURFACE.

Reported-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>


  Commit: e2fb7d8aa218256793df99571d16f92074258447
      
https://github.com/qemu/qemu/commit/e2fb7d8aa218256793df99571d16f92074258447
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-03-15 (Tue, 15 Mar 2022)

  Changed paths:
    M include/ui/console.h
    M ui/console.c
    M ui/dbus-console.c
    M ui/dbus-listener.c
    M ui/dbus.c
    M ui/dbus.h
    M ui/egl-headless.c
    M ui/gtk.c
    M ui/sdl2.c
    M ui/shader.c
    M ui/spice-display.c

  Log Message:
  -----------
  Merge tag 'dbus-pull-request' of gitlab.com:marcandre.lureau/qemu into staging

GL & D-Bus display related fixes

Hi,

Here are pending fixes related to D-Bus and GL, most of them reported thanks to
Akihiko Odaki.

# gpg: Signature made Tue 15 Mar 2022 09:36:45 GMT
# gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
# gpg:                issuer "marcandre.lureau@redhat.com"
# gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" 
[full]
# gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>" 
[full]
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5

* tag 'dbus-pull-request' of gitlab.com:marcandre.lureau/qemu:
  ui/console: call gfx_switch() even if the current scanout is GL
  ui/dbus: do not send 2d scanout until gfx_update
  ui/dbus: fix texture sharing
  ui/console: optionally update after gfx switch
  ui/console: add a dpy_gfx_switch callback helper
  ui/shader: free associated programs
  ui/shader: fix potential leak of shader on error
  ui/console: move console compatibility check to dcl_display_console()
  ui/dbus: associate the DBusDisplayConsole listener with the given console
  ui/console: egl-headless is compatible with non-gl listeners
  ui/console: move dcl compatiblity check to a callback
  ui/console: move check for compatible GL context

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/dee3a86d54f7...e2fb7d8aa218



reply via email to

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