You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/ui
Dongwon Kim 64f1359bd0 ui/gtk: prevent ui lock up when dpy_gl_update called again before current draw event occurs
A warning, "qemu: warning: console: no gl-unblock within" followed by
guest scanout lockup can happen if dpy_gl_update is called in a row
and the second call is made before gd_draw_event scheduled by the first
call is taking place. This is because draw call returns without decrementing
gl_block ref count if the dmabuf was already submitted as shown below.

(gd_gl_area_draw/gd_egl_draw)

        if (dmabuf) {
            if (!dmabuf->draw_submitted) {
                return;
            } else {
                dmabuf->draw_submitted = false;
            }
        }

So it should not schedule any redundant draw event in case draw_submitted is
already set in gd_egl_fluch/gd_gl_area_scanout_flush.

Cc: Gerd Hoffmann <kraxel@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: <20221021192315.9110-1-dongwon.kim@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2 years ago
..
icons configure: move directory options from config-host.mak to meson 4 years ago
keycodemapdb@d21009b1c9 ui: update keycodemapdb submodule commit 3 years ago
shader meson: clean up build_by_default 4 years ago
clipboard.c ui/clipboard: reset the serial state on reset 2 years ago
cocoa.m ui/cocoa: Run qemu_init in the main thread 2 years ago
console-gl.c ui/console: fix texture leak when calling surface_gl_create_texture() 3 years ago
console.c module: add Error arguments to module_load and module_load_qom 2 years ago
curses.c ui/curses: Avoid dynamic stack allocation 2 years ago
curses_keys.h curses: support wide input 6 years ago
cursor.c ui/cursor: fix integer overflow in cursor_alloc (CVE-2021-4206) 3 years ago
cursor_hidden.xpm
cursor_left_ptr.xpm
dbus-chardev.c ui/dbus: add chardev backend & interface 3 years ago
dbus-clipboard.c ui/dbus: add clipboard interface 3 years ago
dbus-console.c ui/dbus: associate the DBusDisplayConsole listener with the given console 3 years ago
dbus-display1.xml ui/dbus: add chardev backend & interface 3 years ago
dbus-error.c ui: add a D-Bus display backend 3 years ago
dbus-listener.c ui/dbus: do not send 2d scanout until gfx_update 3 years ago
dbus-module.c ui/dbus: add p2p=on/off option 3 years ago
dbus.c dbus-display: fix test race when initializing p2p connection 2 years ago
dbus.h ui: fix path to dbus-display1.h 2 years ago
egl-context.c ui: split the GL context in a different object 3 years ago
egl-headless.c ui/console: egl-headless is compatible with non-gl listeners 3 years ago
egl-helpers.c ui/gtk-egl: blitting partial guest fb to the proper scanout surface 3 years ago
gtk-clipboard.c Remove qemu-common.h include from most units 3 years ago
gtk-egl.c ui/gtk: prevent ui lock up when dpy_gl_update called again before current draw event occurs 2 years ago
gtk-gl-area.c ui/gtk: prevent ui lock up when dpy_gl_update called again before current draw event occurs 2 years ago
gtk.c gtk: disable GTK Clipboard with a new meson option 2 years ago
input-barrier.c ui/input-barrier: Move TODOs from barrier.txt to a comment 3 years ago
input-barrier.h ui: add an embedded Barrier client 5 years ago
input-keymap.c meson: rename included C source files to .c.inc 4 years ago
input-legacy.c ui/input-legacy: pass horizontal scroll information 3 years ago
input-linux.c ui: replace qemu_set_nonblock() 3 years ago
input.c Trivial: 3 char repeat typos 2 years ago
kbd-state.c Include qemu/queue.h slightly less 5 years ago
keymaps.c Remove qemu-common.h include from most units 3 years ago
keymaps.h Include qemu-common.h exactly where needed 6 years ago
meson.build gtk: disable GTK Clipboard with a new meson option 2 years ago
qemu-pixman.c ui/pixman: Add qemu_pixman_to_drm_format() 4 years ago
qemu-x509.h
qemu.desktop ui: fix icon display for GTK frontend under GNOME Shell with Wayland 6 years ago
sdl2-2d.c ui/console: Pass placeholder surface to displays 4 years ago
sdl2-gl.c ui: split the GL context in a different object 3 years ago
sdl2-input.c ui/sdl2-input: use trace-events to debug key events 5 years ago
sdl2.c ui: Switch "-display sdl" to use the QAPI parser 3 years ago
shader.c ui/shader: free associated programs 3 years ago
spice-app.c ui/spice: Use HAVE_SPICE_GL for OpenGL checks 3 years ago
spice-core.c ui: move qemu_spice_fill_device_address to ui/util.c 3 years ago
spice-display.c ui/console: move dcl compatiblity check to a callback 3 years ago
spice-input.c spice: move add_interface() to QemuSpiceOps. 4 years ago
spice-module.c spice: wire up monitor in QemuSpiceOps. 4 years ago
trace-events ui: add some vdagent related traces 2 years ago
trace.h trace: switch position of headers to what Meson requires 4 years ago
udmabuf.c ui/console: Restrict udmabuf_fd() to Linux 3 years ago
util.c ui: move qemu_spice_fill_device_address to ui/util.c 3 years ago
vdagent.c ui/vdagent: fix serial reset of guest agent 2 years ago
vgafont.h ui: fix tab indentation 2 years ago
vnc-auth-sasl.c vnc: avoid deprecation warnings for SASL on OS X 3 years ago
vnc-auth-sasl.h vnc: avoid deprecation warnings for SASL on OS X 3 years ago
vnc-auth-vencrypt.c vnc: fix resource leak when websocket channel error 4 years ago
vnc-auth-vencrypt.h Clean up ill-advised or unusual header guards 8 years ago
vnc-clipboard.c Remove qemu-common.h include from most units 3 years ago
vnc-enc-hextile-template.h ui: vnc: finish removing TABs 6 years ago
vnc-enc-hextile.c Drop useless casts from g_malloc() & friends to pointer 2 years ago
vnc-enc-tight.c Replacing CONFIG_VNC_PNG with CONFIG_PNG 3 years ago
vnc-enc-tight.h Clean up header guards that don't match their file name 8 years ago
vnc-enc-zlib.c vnc: fix memory leak when vnc disconnect 5 years ago
vnc-enc-zrle.c meson: rename included C source files to .c.inc 4 years ago
vnc-enc-zrle.c.inc meson: rename included C source files to .c.inc 4 years ago
vnc-enc-zrle.h Clean up header guards that don't match their file name 8 years ago
vnc-enc-zywrle-template.c ui: fix tab indentation 2 years ago
vnc-enc-zywrle.h ui: fix tab indentation 2 years ago
vnc-jobs.c treewide: Remove the unnecessary space before semicolon 2 years ago
vnc-jobs.h ui/vnc: Drop unused vnc_has_job() and vnc_jobs_clear() 8 years ago
vnc-palette.c all: Remove unnecessary glib.h includes 9 years ago
vnc-palette.h Include qapi/qmp/qlist.h exactly where needed 7 years ago
vnc-stubs.c vnc: support "-vnc help" 4 years ago
vnc-ws.c vnc: fix resource leak when websocket channel error 4 years ago
vnc-ws.h Clean up ill-advised or unusual header guards 8 years ago
vnc.c treewide: Remove the unnecessary space before semicolon 2 years ago
vnc.h Replacing CONFIG_VNC_PNG with CONFIG_PNG 3 years ago
vnc_keysym.h ui: fix tab indentation 2 years ago
win32-kbd-hook.c ui/win32-kbd-hook: handle AltGr in a hook procedure 5 years ago
x_keymap.c ui: Fix memory leak in qemu_xkeymap_mapping_table() 4 years ago
x_keymap.h ui: convert GTK and SDL1 frontends to keycodemapdb 7 years ago