qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 333e75: ui: return NULL when getting cursor w


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 333e75: ui: return NULL when getting cursor without a console
Date: Tue, 27 Jun 2023 23:43:10 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 333e7599a0d723801235f675719008ce43db93e3
      
https://github.com/qemu/qemu/commit/333e7599a0d723801235f675719008ce43db93e3
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/console.c

  Log Message:
  -----------
  ui: return NULL when getting cursor without a console

VNC may try to get the current cursor even when there are no consoles
and crashes. Simple reproducer is qemu with -nodefaults.

Fixes: (again)
https://gitlab.com/qemu-project/qemu/-/issues/1548

Fixes: commit 385ac97f8 ("ui: keep current cursor with QemuConsole")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230428154807.2143652-1-marcandre.lureau@redhat.com>


  Commit: 72cbcead969de5b34709ac706a3881636010b6f7
      
https://github.com/qemu/qemu/commit/72cbcead969de5b34709ac706a3881636010b6f7
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/egl-helpers.c

  Log Message:
  -----------
  egl: no need to lookup EGL functions manually

libepoxy handles loading the function pointer and dispatching the call,
so you don't have to worry about it.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230515132455.1025608-1-marcandre.lureau@redhat.com>


  Commit: 176e3783f2ab1476cdfd18a12bd2cfbe42e6b573
      
https://github.com/qemu/qemu/commit/176e3783f2ab1476cdfd18a12bd2cfbe42e6b573
  Author: Antonio Caggiano <quic_acaggian@quicinc.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/sdl2.c

  Log Message:
  -----------
  ui/sdl2: OpenGL window context

When OpenGL is enabled, create only the OpenGL context, ignoring the SDL
renderer as it is unused anyway.

Signed-off-by: Antonio Caggiano <quic_acaggian@quicinc.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230612091959.2983-1-quic_acaggian@quicinc.com>


  Commit: b097b80bc919fca5f45663c20722e57792a093ea
      
https://github.com/qemu/qemu/commit/b097b80bc919fca5f45663c20722e57792a093ea
  Author: Keqian Zhu <zhukeqian1@huawei.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M hw/display/virtio-gpu.c

  Log Message:
  -----------
  virtio-gpu: Optimize 2D resource data transfer

The following points sometimes can reduce much data
to copy:
1. When width matches, we can transfer data with one
call of iov_to_buf().
2. Only the required height need to transfer, not
whole image.

Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230612021358.25068-1-zhukeqian1@huawei.com>


  Commit: 1e0c544673f43cb7ed97020cb9b3b1a915811bac
      
https://github.com/qemu/qemu/commit/1e0c544673f43cb7ed97020cb9b3b1a915811bac
  Author: Zhang Huasen <huasenzhang@foxmail.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M chardev/char-win-stdio.c

  Log Message:
  -----------
  chardev/char-win-stdio: Support VT sequences on Windows 11 host

If the monitor or the serial port use STDIO as backend on Windows 11 host,
e.g. -nographic options is used, the monitor or the guest Linux do not
response to arrow keys.

When Windows creates a console, ENABLE_VIRTUAL_PROCESS_INPUT is disabled
by default. Arrow keys cannot be retrieved by ReadFile or ReadConsoleInput
functions.

Add ENABLE_VIRTUAL_PROCESS_INPUT to the flag which is passed to SetConsoleMode,
when opening stdio console.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1674

Signed-off-by: Zhang Huasen <huasenzhang@foxmail.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <tencent_8DA57B405D427A560FD40F8FB0C0B1ADDE09@qq.com>


  Commit: b6596785987d0174d6f413b7a5b695de6aa14483
      
https://github.com/qemu/qemu/commit/b6596785987d0174d6f413b7a5b695de6aa14483
  Author: Bilal Elmoussaoui <belmouss@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M include/ui/console.h
    M ui/console.c
    M ui/gtk.c

  Log Message:
  -----------
  ui/touch: Move event handling to a common helper

To share code between the GTK and DBus UI bakcends
see the next commit for details

Signed-off-by: Bilal Elmoussaoui <belmouss@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230619095337.9899-2-belmouss@redhat.com>


  Commit: de9f844ce27ef8540bb9e8b4dd2c159b676d78a5
      
https://github.com/qemu/qemu/commit/de9f844ce27ef8540bb9e8b4dd2c159b676d78a5
  Author: Bilal Elmoussaoui <belmouss@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/dbus-console.c
    M ui/dbus-display1.xml
    M ui/trace-events

  Log Message:
  -----------
  ui/dbus: Expose a touch device interface

So that clients making use of the DBus backend could
send touch events through the new org.qemu.Display1.Touch
interface

Signed-off-by: Bilal Elmoussaoui <belmouss@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230619095337.9899-3-belmouss@redhat.com>


  Commit: 34e29d85a7734802317c4cac9ad52b10d461c1dc
      
https://github.com/qemu/qemu/commit/34e29d85a7734802317c4cac9ad52b10d461c1dc
  Author: Vivek Kasireddy <vivek.kasireddy@intel.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M hw/display/virtio-gpu.c

  Log Message:
  -----------
  virtio-gpu: Make non-gl display updates work again when blob=true

In the case where the console does not have gl capability, and
if blob is set to true, make sure that the display updates still
work. Commit e86a93f55463 accidentally broke this by misplacing
the return statement (in resource_flush) causing the updates to
be silently ignored.

Fixes: e86a93f55463 ("virtio-gpu: splitting one extended mode guest fb into 
n-scanouts")
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20230623060454.3749910-1-vivek.kasireddy@intel.com>


  Commit: ec4d71e8f21c90033cb3c77101a434cb9ea708e9
      
https://github.com/qemu/qemu/commit/ec4d71e8f21c90033cb3c77101a434cb9ea708e9
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M hw/display/virtio-gpu-udmabuf.c

  Log Message:
  -----------
  virtio-gpu-udmabuf: create udmabuf for blob even when iov_cnt == 1

There were often cases where a scanout blob sometimes has just 1 entry
that is linked to many pages in it. So just checking whether iov_cnt is 1
is not enough for screening small, non-scanout blobs. Therefore adding
iov_len check as well to make sure it creates an udmabuf only for a scanout
blob, which is at least bigger than one page size.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20230621222704.29932-1-dongwon.kim@intel.com>


  Commit: 37802a24eb4e535d96d6fe0273505d2b5c6528c2
      
https://github.com/qemu/qemu/commit/37802a24eb4e535d96d6fe0273505d2b5c6528c2
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/gtk-egl.c
    M ui/gtk-gl-area.c

  Log Message:
  -----------
  ui/gtk: set the area of the scanout texture correctly

x and y offsets and width and height of the scanout texture
is not correctly configured in case guest scanout frame is
dmabuf.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Message-ID: <20230621213150.29573-1-dongwon.kim@intel.com>


  Commit: 7b41ca8d913cdd91d33d74d906dd5d7bd9f41045
      
https://github.com/qemu/qemu/commit/7b41ca8d913cdd91d33d74d906dd5d7bd9f41045
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M hw/display/virtio-gpu.c

  Log Message:
  -----------
  virtio-gpu: OUT_OF_MEMORY if failing to create udmabuf

Respond with VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY if it fails to create
an udmabuf for the blob resource.

v2: consolidated return statments and removed an unnecessary style change

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20230627003453.5321-1-dongwon.kim@intel.com>


  Commit: 2fc280734a6e7ab9263114214f06b6e69e54fabe
      
https://github.com/qemu/qemu/commit/2fc280734a6e7ab9263114214f06b6e69e54fabe
  Author: Dongwon Kim <dongwon.kim@intel.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/gtk.c

  Log Message:
  -----------
  ui/gtk: making dmabuf NULL when it's released.

Set vc->gfx.guest_fb.dmabuf to NULL to prevent any further access
to it after the dmabuf is released.

v2: move declaration of vc inside ifdef

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20230627005316.5627-1-dongwon.kim@intel.com>


  Commit: 044ca4bf45b5bc232a2d699a9e63f359b1b85df6
      
https://github.com/qemu/qemu/commit/044ca4bf45b5bc232a2d699a9e63f359b1b85df6
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M include/ui/egl-helpers.h
    M ui/egl-helpers.c

  Log Message:
  -----------
  ui/egl: export qemu_egl_get_error_string()

It will be used from other units.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-2-marcandre.lureau@redhat.com>


  Commit: 1d48c9fd8e4ab55662d8daec4af1d63cd2b54699
      
https://github.com/qemu/qemu/commit/1d48c9fd8e4ab55662d8daec4af1d63cd2b54699
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/egl-context.c
    M ui/gtk-egl.c

  Log Message:
  -----------
  ui/egl: fix make_context_current() callback return value

eglMakeCurrent() returns 1/EGL_TRUE on success. This is not what the
callback expects, where 0 indicates success.

While at it, print the EGL error to ease debugging.

As with virgl_renderer_callbacks, the return value is now checked since
version >= 4:
https://gitlab.freedesktop.org/virgl/virglrenderer/-/commit/7f09e6bf0c6ceea6727bd0049781256a28cab0e5

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-3-marcandre.lureau@redhat.com>


  Commit: 29c5c7e5f65977a77eddf6580fdc31ea4a263a6a
      
https://github.com/qemu/qemu/commit/29c5c7e5f65977a77eddf6580fdc31ea4a263a6a
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M audio/dbusaudio.c
    M ui/dbus-chardev.c
    M ui/dbus-console.c
    M ui/dbus-listener.c

  Log Message:
  -----------
  ui/dbus: compile without gio/gunixfdlist.h

D-Bus on windows doesn't support fd-passing. Let's isolate the
fdlist-related code as a first step, before adding Windows support,
using another mechanism.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-4-marcandre.lureau@redhat.com>


  Commit: 9b286e76c858bb015c70261cc85f34952ba1d155
      
https://github.com/qemu/qemu/commit/9b286e76c858bb015c70261cc85f34952ba1d155
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M MAINTAINERS
    M scripts/meson.build
    A scripts/xml-preprocess-test.py
    A scripts/xml-preprocess.py

  Log Message:
  -----------
  scripts: add a XML preprocessor script

gdbus-codegen doesn't support conditions or pre-processing.

Rather than duplicating D-Bus interfaces for win32 adaptation, let's
have a preprocess step, so we can have platform-specific interfaces.

The python script is based on
https://github.com/peitaosu/XML-Preprocessor, with bug fixes, some
testing and replacing lxml dependency with the built-in xml module.

This preprocessing syntax style is not very common, but is similar to
the one provided by WiX (https://wixtoolset.org/docs/v3/overview/preprocessor/)
or wixl, that we adopted in QEMU for packaging the guest agent.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-5-marcandre.lureau@redhat.com>


  Commit: 6cc5a6159a0067fefbe0b7912c187018aa4b460a
      
https://github.com/qemu/qemu/commit/6cc5a6159a0067fefbe0b7912c187018aa4b460a
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M audio/dbusaudio.c
    M meson.build
    M ui/dbus-chardev.c
    M ui/dbus-console.c
    M ui/dbus-display1.xml
    M ui/dbus.h
    M ui/meson.build

  Log Message:
  -----------
  ui/dbus: win32 support

D-Bus doesn't support fd-passing on Windows (AF_UNIX doesn't have
SCM_RIGHTS yet, but there are other means to share objects. I have
proposed various solutions upstream, but none seem fitting enough atm).

To make the "-display dbus" work on Windows, implement an alternative
D-Bus interface where all the 'h' (FDs) arguments are replaced with
'ay' (WSASocketW data), and sockets are passed to the other end via
WSADuplicateSocket().

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-6-marcandre.lureau@redhat.com>


  Commit: ed097649b55065b3b7da0ca54596e876b29c2561
      
https://github.com/qemu/qemu/commit/ed097649b55065b3b7da0ca54596e876b29c2561
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M tests/qtest/libqtest.c
    M tests/qtest/libqtest.h

  Log Message:
  -----------
  qtest: add qtest_pid()

Used in the following test on win32, to share sockets with the QEMU
process.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230606115658.677673-7-marcandre.lureau@redhat.com>


  Commit: 306d75815c57c8449bed8d0964b97c3f1acf2134
      
https://github.com/qemu/qemu/commit/306d75815c57c8449bed8d0964b97c3f1acf2134
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M tests/qtest/dbus-display-test.c
    M tests/qtest/meson.build

  Log Message:
  -----------
  tests: make dbus-display-test work on win32

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230606115658.677673-8-marcandre.lureau@redhat.com>


  Commit: 439e0164cd83bf50095e6f66bb036b43a65a68b6
      
https://github.com/qemu/qemu/commit/439e0164cd83bf50095e6f66bb036b43a65a68b6
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/dbus-console.c
    M ui/dbus-display1.xml

  Log Message:
  -----------
  ui/dbus: introduce "Interfaces" properties

This property is similar to ``org.freedesktop.DBus.Interfaces`` property
on the bus interface: it's an array of strings listing the extra
interfaces and capabilities available, in a convenient way.

Most interfaces are implicit, as they are required. For
``org/qemu/Display1_$id``, we can list the Keyboard And Mouse
interfaces. Those could be optional.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-9-marcandre.lureau@redhat.com>


  Commit: 09b4c198b80c3f5c9c051bc8d8935668cdd206e5
      
https://github.com/qemu/qemu/commit/09b4c198b80c3f5c9c051bc8d8935668cdd206e5
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M include/sysemu/os-win32.h
    M include/ui/console.h
    M ui/console.c
    M ui/qemu-pixman.c
    M ui/trace-events
    M util/oslib-win32.c
    M util/trace-events

  Log Message:
  -----------
  console/win32: allocate shareable display surface

Introduce qemu_win32_map_alloc() and qemu_win32_map_free() to allocate
shared memory mapping. The handle can be used to share the mapping with
another process.

Teach qemu_create_displaysurface() to allocate shared memory. Following
patches will introduce other places for shared memory allocation.

Other patches for -display dbus will share the memory when possible with
the client, to avoid expensive memory copy between the processes.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-10-marcandre.lureau@redhat.com>


  Commit: 9462ff4695aa0d086fd63f7f2efafe5a05f2a243
      
https://github.com/qemu/qemu/commit/9462ff4695aa0d086fd63f7f2efafe5a05f2a243
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M hw/display/virtio-gpu.c
    M include/hw/virtio/virtio-gpu.h

  Log Message:
  -----------
  virtio-gpu/win32: allocate shareable 2d resources/images

Allocate pixman bits for scanouts with qemu_win32_map_alloc() so we can
set a shareable handle on the associated display surface.

Note: when bits are provided to pixman_image_create_bits(), you must also give
the rowstride (the argument is ignored when bits is NULL)

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-11-marcandre.lureau@redhat.com>


  Commit: 48dddba1763b2134e81ae6765b19184fd907f142
      
https://github.com/qemu/qemu/commit/48dddba1763b2134e81ae6765b19184fd907f142
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/dbus-display1.xml
    M ui/dbus-listener.c

  Log Message:
  -----------
  ui/dbus: use shared memory when possible on win32

When the display surface has an associated HANDLE, we can duplicate it
to the client process and let it map the memory to avoid expensive copies.

Introduce two new win32-specific methods ScanoutMap and UpdateMap. The
first is used to inform the listener about the a shared map
availability, and the second for display updates.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-12-marcandre.lureau@redhat.com>


  Commit: 39324b49669c72b00cf3adc93d9dc7cf702bf11f
      
https://github.com/qemu/qemu/commit/39324b49669c72b00cf3adc93d9dc7cf702bf11f
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M include/ui/egl-helpers.h
    M qapi/ui.json
    M ui/egl-headless.c
    M ui/egl-helpers.c
    M ui/meson.build

  Log Message:
  -----------
  ui: add egl-headless support on win32

Make GBM optional for EGL code, and enable the build for win32.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-13-marcandre.lureau@redhat.com>


  Commit: afe8e0b6db2debeaf35f5bd43efa1ada90ba0847
      
https://github.com/qemu/qemu/commit/afe8e0b6db2debeaf35f5bd43efa1ada90ba0847
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/egl-helpers.c

  Log Message:
  -----------
  ui/egl: default to GLES on windows

Windows GL drivers are notoriously not very good. Otoh, ANGLE provides
rock solid GLES implementation on top of direct3d. We should recommend
it and default to ES when using EGL (users can easily override this if
necessary)

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-14-marcandre.lureau@redhat.com>


  Commit: da9eb580b7e28d70d344bb03e0fe5703c8d1892c
      
https://github.com/qemu/qemu/commit/da9eb580b7e28d70d344bb03e0fe5703c8d1892c
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M include/ui/egl-helpers.h
    M ui/egl-helpers.c

  Log Message:
  -----------
  ui: add egl_fb_read_rect()

Similar to egl_fb_read(), same limitations, but with extra arguments to
read a subset of the framebuffer. Used in following commits.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-15-marcandre.lureau@redhat.com>


  Commit: f43bf0a73b3903770e2bc919b12f9dad5407773d
      
https://github.com/qemu/qemu/commit/f43bf0a73b3903770e2bc919b12f9dad5407773d
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/dbus-listener.c
    M ui/dbus.c

  Log Message:
  -----------
  ui/dbus: add GL support on win32

Enable usage of dbus,gl= on win32. At this point, the scanout texture is
read on the DisplaySurface memory, and the client is then updated with
the "2D" API (with shared memory if possible).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-16-marcandre.lureau@redhat.com>


  Commit: cf283fb44769b0a2de647193bb31d55d5d25595b
      
https://github.com/qemu/qemu/commit/cf283fb44769b0a2de647193bb31d55d5d25595b
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/dbus-listener.c
    M ui/trace-events

  Log Message:
  -----------
  ui/dbus: add some GL traces

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-17-marcandre.lureau@redhat.com>


  Commit: e8a2db94792ca036adbdf3656125587c3097bd83
      
https://github.com/qemu/qemu/commit/e8a2db94792ca036adbdf3656125587c3097bd83
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M hw/display/virtio-gpu-virgl.c

  Log Message:
  -----------
  virtio-gpu-virgl: teach it to get the QEMU EGL display

virgl offers a few features that require to have access to the
underlying EGLDisplay. This is the case for the D3D texture sharing support.

The API callback is merged for virgl 1.0:
https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1113

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-18-marcandre.lureau@redhat.com>


  Commit: 06c63a34e633601caea8fe88abfeff0911809da3
      
https://github.com/qemu/qemu/commit/06c63a34e633601caea8fe88abfeff0911809da3
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M include/ui/egl-helpers.h
    M ui/egl-helpers.c
    M ui/trace-events

  Log Message:
  -----------
  ui/egl: query ANGLE d3d device

Check if ANGLE is being used with D3D backend.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-19-marcandre.lureau@redhat.com>


  Commit: bf41ab61908b340e5745c334586349bc8a3a0349
      
https://github.com/qemu/qemu/commit/bf41ab61908b340e5745c334586349bc8a3a0349
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M hw/display/virtio-gpu-virgl.c
    M include/ui/console.h
    M include/ui/gtk.h
    M include/ui/sdl2.h
    M ui/console.c
    M ui/dbus-console.c
    M ui/dbus-listener.c
    M ui/egl-headless.c
    M ui/gtk-egl.c
    M ui/gtk-gl-area.c
    M ui/sdl2-gl.c
    M ui/spice-display.c

  Log Message:
  -----------
  ui: add optional d3d texture pointer to scanout texture

The following patch will get the underlying D3D11 Texture2D from the
virgl renderer scanout. Pass it along to the texture scanout callbacks
as a priliminary step, to simplify review.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-20-marcandre.lureau@redhat.com>


  Commit: c1600f84ce011a056c9c432c8ad8d77f7f8b9e6f
      
https://github.com/qemu/qemu/commit/c1600f84ce011a056c9c432c8ad8d77f7f8b9e6f
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M hw/display/virtio-gpu-virgl.c
    M meson.build

  Log Message:
  -----------
  virtio-gpu-virgl: use D3D11_SHARE_TEXTURE when available

Enable D3D texture sharing when possible, and pass it to the texture
display callbacks.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-21-marcandre.lureau@redhat.com>


  Commit: de1f8ce0abb8c43d1e6a00c31c6d24dfe0505b92
      
https://github.com/qemu/qemu/commit/de1f8ce0abb8c43d1e6a00c31c6d24dfe0505b92
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2023-06-27 (Tue, 27 Jun 2023)

  Changed paths:
    M ui/dbus-display1.xml
    M ui/dbus-listener.c

  Log Message:
  -----------
  ui/dbus: use shared D3D11 Texture2D when possible

When the client implements "org.qemu.Display1.Listener.Win32.D3d11" and
we are running on ANGLE/win32, share the scanout texture with the peer
process, and draw with ScanoutTexture2d/UpdateTexture2d methods.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230606115658.677673-22-marcandre.lureau@redhat.com>


  Commit: b111569da9f82fdf05df03184836a4564adef599
      
https://github.com/qemu/qemu/commit/b111569da9f82fdf05df03184836a4564adef599
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-06-28 (Wed, 28 Jun 2023)

  Changed paths:
    M MAINTAINERS
    M audio/dbusaudio.c
    M chardev/char-win-stdio.c
    M hw/display/virtio-gpu-udmabuf.c
    M hw/display/virtio-gpu-virgl.c
    M hw/display/virtio-gpu.c
    M include/hw/virtio/virtio-gpu.h
    M include/sysemu/os-win32.h
    M include/ui/console.h
    M include/ui/egl-helpers.h
    M include/ui/gtk.h
    M include/ui/sdl2.h
    M meson.build
    M qapi/ui.json
    M scripts/meson.build
    A scripts/xml-preprocess-test.py
    A scripts/xml-preprocess.py
    M tests/qtest/dbus-display-test.c
    M tests/qtest/libqtest.c
    M tests/qtest/libqtest.h
    M tests/qtest/meson.build
    M ui/console.c
    M ui/dbus-chardev.c
    M ui/dbus-console.c
    M ui/dbus-display1.xml
    M ui/dbus-listener.c
    M ui/dbus.c
    M ui/dbus.h
    M ui/egl-context.c
    M ui/egl-headless.c
    M ui/egl-helpers.c
    M ui/gtk-egl.c
    M ui/gtk-gl-area.c
    M ui/gtk.c
    M ui/meson.build
    M ui/qemu-pixman.c
    M ui/sdl2-gl.c
    M ui/sdl2.c
    M ui/spice-display.c
    M ui/trace-events
    M util/oslib-win32.c
    M util/trace-events

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

wef

# -----BEGIN PGP SIGNATURE-----
#
# iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmSa+6McHG1hcmNhbmRy
# ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5YxfD/46nwpTCTWWdKdTeo5p
# OUdrF0rfHFqu4FN3OWHbfRxZCO/AdHL+UZ52owV4+5bJJI5uOnXwYKpkrwKYBrFd
# H8Bll7NitzA41rw4AQa0GeaQYCPJ99OOfnhbRI5Aep2NG2DfX5PK4RWnfqYw8LD1
# TiHtRv2lWnX9EyMjnEh93C+n17OfquP5Ew3ozZNQJ0+SiJ3CvsUn6hEqxOA8OdyX
# lj6l00CASQA2BxW+zjXjJKvRakCV4gfdvrL9eMf4eu0UopzET7ombBJGPnYVsrDU
# /4R7b0JgGM4iOpXFxK4Ng6myP28vPdOEJAU/OJLH+oMRz1caohS+0Ijl2KviUCex
# SGpb9plxqI7fI2QQt+1CxAlXADSW7oV1zV0/tLkKl/n5+MF3HJ/5qR3tefLhYu1p
# 2LpfbPMKGQ9V3+5Z/UvWx6GQYP1iBRm5THPLn+HSDMSqLmt6yp5cOTwP3KTx1Zlc
# JfpBtekT2Cgs54nnCcfnXa6/EPo4uR7cMFzrgXdSacPz/GssMVa1c2mNUYkgYEYU
# PeyDWZG2Rt/70y+CFDPBpKWEQVICnf7Ha43oj4BtGTqqUFeuZClMTTtZ5poSg3ir
# FcRNJ5zSWg2KhHIQ9TQKxIAwrxxVBY0AiQleNRyDzx+YGAuBBadO6i5eCqqpGgOa
# QRVBsP33Pg/QD1JdxN9GSSEh0w==
# =cR6x
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 27 Jun 2023 05:09:23 PM CEST
# 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]

* tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu: (33 
commits)
  ui/dbus: use shared D3D11 Texture2D when possible
  virtio-gpu-virgl: use D3D11_SHARE_TEXTURE when available
  ui: add optional d3d texture pointer to scanout texture
  ui/egl: query ANGLE d3d device
  virtio-gpu-virgl: teach it to get the QEMU EGL display
  ui/dbus: add some GL traces
  ui/dbus: add GL support on win32
  ui: add egl_fb_read_rect()
  ui/egl: default to GLES on windows
  ui: add egl-headless support on win32
  ui/dbus: use shared memory when possible on win32
  virtio-gpu/win32: allocate shareable 2d resources/images
  console/win32: allocate shareable display surface
  ui/dbus: introduce "Interfaces" properties
  tests: make dbus-display-test work on win32
  qtest: add qtest_pid()
  ui/dbus: win32 support
  scripts: add a XML preprocessor script
  ui/dbus: compile without gio/gunixfdlist.h
  ui/egl: fix make_context_current() callback return value
  ...

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


Compare: https://github.com/qemu/qemu/compare/c30200b1c484...b111569da9f8



reply via email to

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