qemu-e2k/hw/display
Marc-André Lureau 3cddb8b9e0 display/ui: add a callback to indicate GL state is flushed
Displaying rendered resources requires blocking qemu GPU to avoid extra
framebuffer copies. For an external display, via Spice currently, there
is a callback to block/unblock the rendering in the same thread.

But with the vhost-user-gpu backend, the qemu process doesn't handle
the rendering itself, and the blocking callback isn't effective.
Instead, the backend must be notified when the display code is done.

Fix this by adding a new GraphicHwOps callback to indicate the GL state
is flushed, and we are done manipulating the shared GL resources. Call
it from gtk and spice display.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210204105232.834642-19-marcandre.lureau@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2021-02-04 15:58:54 +01:00
..
artist.c Clean up includes 2020-12-10 17:16:44 +01:00
ati_2d.c ati: check x y display parameter values 2020-11-04 08:25:17 +01:00
ati_dbg.c
ati_int.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ati_regs.h
ati.c
bcm2835_fb.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
blizzard.c
bochs-display.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
cg3.c vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
cirrus_vga_internal.h
cirrus_vga_isa.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
cirrus_vga_rop2.h
cirrus_vga_rop.h
cirrus_vga.c hw/display/cirrus_vga: Fix hexadecimal format string specifier 2020-11-13 07:36:33 +01:00
dpcd.c
edid-generate.c edid: use physical dimensions if available 2020-09-29 10:08:25 +02:00
edid-region.c
exynos4210_fimd.c hw/display/exynos4210_fimd: Fix potential NULL pointer dereference 2020-11-02 16:52:17 +00:00
framebuffer.c
framebuffer.h
g364fb.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
i2c-ddc.c
jazz_led.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
Kconfig ads7846: moves from the hw/display folder to the hw/input folder. 2020-12-13 17:54:55 +01:00
macfb.c nubus: Rename class type checking macros 2020-08-27 14:04:55 -04:00
meson.build ads7846: moves from the hw/display folder to the hw/input folder. 2020-12-13 17:54:55 +01:00
milkymist-tmu2.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
milkymist-vgafb_template.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
milkymist-vgafb.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
next-fb.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
omap_dss.c
omap_lcd_template.h
omap_lcdc.c hw/display/omap_lcdc: Fix potential NULL pointer dereference 2020-11-02 16:52:17 +00:00
pl110_template.h
pl110.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pxa2xx_lcd.c arm: do not use ram_size global 2020-12-10 12:15:07 -05:00
pxa2xx_template.h
qxl-logger.c hw/display/qxl: Fix bad printf format specifiers 2021-02-04 14:32:40 +01:00
qxl-render.c qxl: also notify the rendering is done when skipping it 2021-02-04 14:32:40 +01:00
qxl.c qxl: set qxl.ssd.dcl.con on secondary devices 2021-02-04 14:32:40 +01:00
qxl.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ramfb-standalone.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
ramfb.c
sii9022.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
sm501_template.h
sm501.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ssd0303.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ssd0323.c hw/ssi: Rename SSI 'slave' as 'peripheral' 2020-12-10 12:15:03 -05:00
tc6393xb_template.h
tc6393xb.c
tcx.c vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
trace-events trace-events: Fix attribution of trace points to source 2020-09-09 17:17:58 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vga_int.h
vga_regs.h
vga-access.h
vga-helpers.h
vga-isa-mm.c
vga-isa.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
vga-pci.c vga-pci: Register "big-endian-framebuffer" as class property 2020-10-13 15:56:30 -04:00
vga.c hw/display/vga:Remove redundant statement in vga_draw_graphic() 2020-09-01 12:06:15 +02:00
vhost-user-gpu-pci.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
vhost-user-gpu.c display/ui: add a callback to indicate GL state is flushed 2021-02-04 15:58:54 +01:00
vhost-user-vga.c vhost-user-vga: Use typedef name for instance_size 2020-09-09 13:20:22 -04:00
virtio-gpu-3d.c virtio-gpu: only compile virtio-gpu-3d.c for CONFIG_VIRGL=y 2020-10-29 06:37:24 +01:00
virtio-gpu-base.c display/ui: add a callback to indicate GL state is flushed 2021-02-04 15:58:54 +01:00
virtio-gpu-pci.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
virtio-gpu.c display/ui: add a callback to indicate GL state is flushed 2021-02-04 15:58:54 +01:00
virtio-vga.c display/ui: add a callback to indicate GL state is flushed 2021-02-04 15:58:54 +01:00
virtio-vga.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
vmware_vga.c hw/display/vmware_vga: Remove dependency on VNC header 2021-01-27 09:48:04 +01:00
xenfb.c
xlnx_dp.c