Philippe Mathieu-Daudé
b1be65f643
ui/input: Constify QemuInputHandler structure
...
Access to QemuInputHandlerState::handler are read-only.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Message-Id: <20231017131251.43708-1-philmd@linaro.org >
2023-10-19 23:13:28 +02:00
Ken Xue and Marc-André Lureau
7db57a73f6
ui: add XBGR8888 and ABGR8888 in drm_format_pixman_map
...
Android uses XBGR8888 and ABGR8888 as default scanout buffer, But qemu
does not support them for qemu_pixman_to_drm_format conversion within
virtio_gpu_create_dmabuf for virtio gpu.
so, add those 2 formats into drm_format_pixman_map.
Signed-off-by: Ken Xue <Ken.Xue@amd.com >
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Message-ID: <20230914013151.805363-1-Ken.Xue@amd.com >
2023-10-03 15:04:56 +04:00
Laszlo Ersek and Marc-André Lureau
845fff1f83
ui/console: make qemu_console_is_multihead() static
...
qemu_console_is_multihead() is only called from within "ui/console.c";
make it static.
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com > (odd fixer:Graphics)
Cc: Gerd Hoffmann <kraxel@redhat.com > (odd fixer:Graphics)
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Message-ID: <20230913144959.41891-2-lersek@redhat.com >
2023-10-03 15:04:56 +04:00
Akihiko Odaki and Marc-André Lureau
0337e4123e
input: Allow to choose console with qemu_input_is_absolute
...
Although an input is routed depending on the console,
qemu_input_is_absolute() had no mechanism to specify the console.
Accept QemuConsole as an argument for qemu_input_is_absolute, and let
the display know the absolute/relative state for a particular console.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Message-Id: <20230921082936.28100-1-akihiko.odaki@daynix.com >
2023-10-03 15:04:56 +04:00
Marc-André Lureau
a92e7bb4ca
ui: add precondition for dpy_get_ui_info()
...
Ensure that it only get called when dpy_ui_info_supported(). The
function should always return a result. There should be a non-null
console or active_console.
Modify the argument to be const as well.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Albert Esteve <aesteve@redhat.com >
2023-09-12 11:14:09 +04:00
Marc-André Lureau
6d8cd7c220
ui/console: move DisplaySurface to its own header
...
Mostly for readability reasons.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
2023-09-12 10:37:02 +04:00
Marc-André Lureau
ff174c67db
ui/console: remove redundant format field
...
It's already part of PIXMAN image.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
2023-09-12 10:37:02 +04:00
Marc-André Lureau
cc6ba2c6f5
ui/vc: rename kbd_put to qemu_text_console functions
...
They are QemuTextConsole functions, let's make it clear.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
2023-09-12 10:37:02 +04:00
Marc-André Lureau
f5360a0d28
ui/vc: remove kbd_put_keysym() and update function calls
...
The function calls to `kbd_put_keysym` have been updated to now call
`kbd_put_keysym_console` with a NULL console parameter.
Like most console functions, NULL argument is now for the active console.
This will allow to rename the text console functions in a consistent manner.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com >
2023-09-12 10:37:02 +04:00
Stefan Hajnoczi
c152379422
Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging
...
UI patch queue
- misc fixes and improvement
- cleanups and refactoring in ui/vc code
# -----BEGIN PGP SIGNATURE-----
#
# iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmT1wuYcHG1hcmNhbmRy
# ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5UhmD/wPCVZ/Vipmbexc8eBd
# wbI7i0zR5Hj7szU4D1MV+fvi5Y6Z7PWvPxnQOIoWbmEGuhOm5P73oRz1jlBDXGLP
# Nh1kh2RvuWILF0Vu+QjJHL5FyA0XJcl/Qhsn1tc7pYMbEOBCpPfpmWRiXrEUDc7/
# S1iSPkB2a7YYwuMW6ksPyKlsb4tjGyea/HYz1lTdw8bJxaFVXMFX35lrqz+A5ZGz
# XAk/6OyMtkMbBi8hWcd6IweYyc/DYaK8emqppQLIUenZEz7nKSWlEUIKcXpf9U4n
# 3W+BISACxnw7KbXrrZl2KJf2Bix6LRureoscZTKawnB/D5hV+g7PtEjNMUQsxjg3
# RyV9+zSPsIg5zXunrHIs1rrUtGS5SvdQbIQYqHPNdL86iuWKer+EnwA06vflweLw
# P7FZhuBNvuY3gU2sdCk5Q7My92YT5DRWjoJRHLFGNYTxPA6MYPivIu8RqsBiu+JX
# BvK1FfhG2JsR9XuuOFR968AXLfMc0hOlHfHWvORk3s/9zIpeEWmQbnGxr1sN9El8
# o+rDIkcadELuzcTJcoHCKdCzjFbLdNNKgvbcVQdw3rdp2rvQ6CZalyh+qZEihAy4
# xLVO+hUypxNhRAg/DtZilUW6cPavn0OjoH/3BgY0F0GiwvhFMntyVGN7eBdwnC7c
# sV5s4Xnafmh5xnGf0GS3UyuX9g==
# =JxZP
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 04 Sep 2023 07:43:34 EDT
# 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 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu : (52 commits)
ui/gtk: fix leaks found wtih fuzzing
ui/vdagent: Unregister input handler of mouse during finalization
ui/vdagent: call vdagent_disconnect() when agent connection is lost
ui/dbus: implement damage regions for GL
ui/dbus: Properly dispose touch/mouse dbus objects
ui/vnc-enc-tight: Avoid dynamic stack allocation
ui/vnc-enc-hextile: Use static rather than dynamic length stack array
ui/spice-display: Avoid dynamic stack allocation
ui/vc: change the argument for QemuTextConsole
ui/vc: do not parse VC-specific options in Spice and GTK
ui/vc: move text console invalidate in helper
ui/console: minor stylistic changes
ui/vc: skip text console resize when possible
ui/console: fold text_console_update_cursor_timer
ui/console: assert(surface) where appropriate
ui/console: rename vga_ functions with qemu_console_
ui/console: use QEMU_PIXMAN_COLOR helpers
ui/console: declare console types in console.h
ui/vc: use common text console surface creation
ui/console: remove need for g_width/g_height
...
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2023-09-06 11:16:01 -04:00
Marc-André Lureau
9db018ac56
ui/vc: change the argument for QemuTextConsole
...
Those functions are specifc to text/vc console, make that explicit from
the argument type.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Message-Id: <20230830093843.3531473-45-marcandre.lureau@redhat.com >
2023-09-04 14:57:44 +04:00
Marc-André Lureau
322dae4bc8
ui/vc: move text console invalidate in helper
...
This will allow to split the VC code in a separate unit more easily.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Message-Id: <20230830093843.3531473-43-marcandre.lureau@redhat.com >
2023-09-04 14:38:15 +04:00
Marc-André Lureau
1ece6777fe
ui/console: use QEMU_PIXMAN_COLOR helpers
...
QEMU_RGB macro is actually defining a pixman color. Make this explicit
in the macro name. Move it to qemu-pixman.h so it can be used elsewhere,
as done in the following patch. Finally, define
QEMU_PIXMAN_COLOR_{BLACK,GRAY}, to avoid need to look up the VGA color
table from the QemuConsole placeholder surface rendering.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230830093843.3531473-37-marcandre.lureau@redhat.com >
2023-09-04 14:00:56 +04:00
Marc-André Lureau
8c6381d846
ui/console: declare console types in console.h
...
We are going to split the console.c unit next, and implement
separately. But we need to check the underlying type in various places.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Message-Id: <20230830093843.3531473-36-marcandre.lureau@redhat.com >
2023-09-04 14:00:46 +04:00
Marc-André Lureau
f9411aaebd
ui/console: specialize console_lookup_unused()
...
graphics_console_init() is expected to return a graphic console.
The function doesn't need to be exported.
We are going to specialize further QemuGraphicConsole & QemuTextConsole.
The two will not be interchangeable anymore.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Message-Id: <20230830093843.3531473-24-marcandre.lureau@redhat.com >
2023-09-04 13:48:31 +04:00
Marc-André Lureau and Patchew Applier
4f2c765ba6
ui/qmp: move screendump to ui-qmp-cmds.c
...
console.c unit is over-crowded. This code is specific to the handling of
the QMP screendump command, so move it in ui-qmp-cmds.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Message-Id: <20230830093843.3531473-4-marcandre.lureau@redhat.com >
2023-09-01 17:21:04 +00:00
Marc-André Lureau and Patchew Applier
426749a7b7
ui: remove qemu_pixman_linebuf_copy()
...
Since commit 43c7d8bd44 ("console: add qemu_pixman_linebuf_copy"), it
seems it was never used.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Message-Id: <20230830093843.3531473-3-marcandre.lureau@redhat.com >
2023-09-01 17:21:04 +00:00
Marc-André Lureau and Patchew Applier
90da7d552f
ui: remove qemu_pixman_color() helper
...
Usage removed in commit e27bd65a72 ("console: switch color_table_rgb to pixman_color_t")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230830093843.3531473-2-marcandre.lureau@redhat.com >
2023-09-01 17:21:04 +00:00
Michael Tokarev and Philippe Mathieu-Daudé
d4761b6554
ui: spelling fixes
...
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru >
Message-ID: <20230823065335.1919380-2-mjt@tls.msk.ru >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
2023-08-31 19:47:43 +02:00
Dongwon Kim and Marc-André Lureau
9ac06df8b6
virtio-gpu-udmabuf: correct naming of QemuDmaBuf size properties
...
Replace 'width' and 'height' in QemuDmaBuf with 'backing_widht'
and 'backing_height' as these commonly indicate the size of the
whole surface (e.g. guest's Xorg extended display). Then use
'width' and 'height' for sub region in there (e.g. guest's
scanouts).
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: <20230713040444.32267-1-dongwon.kim@intel.com >
2023-07-17 15:22:28 +04:00
Marc-André Lureau
bf41ab6190
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 >
2023-06-27 17:08:56 +02:00
Marc-André Lureau
06c63a34e6
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 >
2023-06-27 17:08:56 +02:00
Marc-André Lureau
da9eb580b7
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 >
2023-06-27 17:08:56 +02:00
Marc-André Lureau
39324b4966
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 >
2023-06-27 17:08:56 +02:00
Marc-André Lureau
09b4c198b8
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 >
2023-06-27 17:08:56 +02:00