qemu-e2k/hw/display
Carwyn Ellis 67ae042737 hw/display/vmware_vga: do not discard screen updates
In certain circumstances, typically when there is lots changing on the
screen, updates will be discarded resulting in garbled output.

This change simplifies the traversal of the display update FIFO queue
when applying updates. We just track the queue length and iterate up to
the end of the queue.

Additionally when adding updates to the queue, if the buffer reaches
capacity we force a flush before accepting further events.

Signed-off-by: Carwyn Ellis <carwynellis@gmail.com>
Message-Id: <20220206183956.10694-3-carwynellis@gmail.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2022-04-22 11:47:08 +02:00
..
Kconfig hw/display: Rename VGA_ISA_MM -> VGA_MMIO 2022-01-13 10:58:54 +01:00
artist.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
ati.c hw/display: Allow vga_common_init() to return errors 2022-03-18 10:15:57 +01:00
ati_2d.c ati: check x y display parameter values 2020-11-04 08:25:17 +01:00
ati_dbg.c ati-vga: Add dummy MEM_SDRAM_MODE_REG 2020-06-30 22:54:24 +02:00
ati_int.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ati_regs.h ati-vga: Add dummy MEM_SDRAM_MODE_REG 2020-06-30 22:54:24 +02:00
bcm2835_fb.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
blizzard.c display/blizzard: use extract16() for fix clang analyzer warning in blizzard_draw_line16_32() 2020-05-04 11:17:27 +02:00
bochs-display.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
cg3.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
cirrus_vga.c hw/display: Allow vga_common_init() to return errors 2022-03-18 10:15:57 +01:00
cirrus_vga_internal.h hw/display/cirrus_vga: Move "isa-cirrus-vga" device into a separate file 2018-10-15 09:57:33 +02:00
cirrus_vga_isa.c hw/display: Allow vga_common_init() to return errors 2022-03-18 10:15:57 +01:00
cirrus_vga_rop.h cirrus: fix off-by-one in cirrus_bitblt_rop_bkwd_transp_*_16 2017-03-17 10:23:44 +01:00
cirrus_vga_rop2.h cirrus: fix PUTPIXEL macro 2017-03-27 12:14:45 +02:00
dpcd.c hw/display/dpcd: Convert debug printf()s to trace events 2020-05-28 11:38:57 +02:00
edid-generate.c edid: Fix clock of Detailed Timing Descriptor 2022-03-04 11:31:46 +01:00
edid-region.c Include exec/memory.h slightly less 2019-08-16 13:31:52 +02:00
exynos4210_fimd.c hw/display/exynos4210_fimd: Fix potential NULL pointer dereference 2020-11-02 16:52:17 +00:00
framebuffer.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
framebuffer.h framebuffer: set DIRTY_MEMORY_VGA on RAM that is used for the framebuffer 2015-07-24 13:57:45 +02:00
g364fb.c g364fb: add VMStateDescription for G364SysBusState 2021-07-02 17:35:08 +02:00
i2c-ddc.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
jazz_led.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
macfb.c macfb: set initial value of mode control registers in macfb_common_realize() 2022-03-09 09:29:10 +00:00
meson.build hw/display: Rename VGA_ISA_MM -> VGA_MMIO 2022-01-13 10:58:54 +01:00
next-fb.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
omap_dss.c exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
omap_lcdc.c hw/display/omap_lcdc: Delete unnecessary macro 2021-03-06 13:30:38 +00:00
pl110.c hw/display/pl110: Remove use of BITS from pl110_template.h 2021-03-14 13:14:55 +00:00
pl110_template.h Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
pxa2xx_lcd.c Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
qxl-logger.c hw/display/qxl: Fix bad printf format specifiers 2021-02-04 14:32:40 +01:00
qxl-render.c ui/cursor: fix integer overflow in cursor_alloc (CVE-2021-4206) 2022-04-07 12:30:54 +02:00
qxl.c Replace qemu_real_host_page variables with inlined functions 2022-04-06 10:50:38 +02:00
qxl.h Replace GCC_FMT_ATTR with G_GNUC_PRINTF 2022-03-22 14:40:51 +04:00
ramfb-standalone.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
ramfb.c ramfb: fix size calculation 2020-05-18 15:43:51 +02:00
sii9022.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
sm501.c hw/i2c: Rename i2c_set_slave_address() -> i2c_slave_set_address() 2021-07-08 14:15:01 -05: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.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
tcx.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
trace-events hw/display/vmware_vga: do not discard screen updates 2022-04-22 11:47:08 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vga-access.h vga: move access helpers to separate include file 2019-09-19 10:37:46 +02:00
vga-helpers.h vga: move access helpers to separate include file 2019-09-19 10:37:46 +02:00
vga-isa.c hw/display: Allow vga_common_init() to return errors 2022-03-18 10:15:57 +01:00
vga-mmio.c hw/display: Allow vga_common_init() to return errors 2022-03-18 10:15:57 +01:00
vga-pci.c hw/display: Allow vga_common_init() to return errors 2022-03-18 10:15:57 +01:00
vga.c Replace TARGET_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
vga_int.h hw/display: Allow vga_common_init() to return errors 2022-03-18 10:15:57 +01:00
vga_regs.h Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
vhost-user-gpu-pci.c modules: add virtio-gpu module annotations 2021-07-09 18:20:27 +02:00
vhost-user-gpu.c Revert "virtio: introduce macro IRTIO_CONFIG_IRQ_IDX" 2022-01-10 16:02:54 -05:00
vhost-user-vga.c modules: add virtio-gpu module annotations 2021-07-09 18:20:27 +02:00
virtio-gpu-base.c ui: simplify gl unblock & flush 2021-12-21 10:50:21 +04:00
virtio-gpu-gl.c Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
virtio-gpu-pci-gl.c modules: add virtio-gpu module annotations 2021-07-09 18:20:27 +02:00
virtio-gpu-pci.c modules: add virtio-gpu module annotations 2021-07-09 18:20:27 +02:00
virtio-gpu-udmabuf-stubs.c virtio-gpu: splitting one extended mode guest fb into n-scanouts 2021-11-05 12:29:19 +01:00
virtio-gpu-udmabuf.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
virtio-gpu-virgl.c virtio-gpu: use VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP 2021-12-21 10:50:21 +04:00
virtio-gpu.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
virtio-vga-gl.c modules: add virtio-gpu module annotations 2021-07-09 18:20:27 +02:00
virtio-vga.c hw/display: Allow vga_common_init() to return errors 2022-03-18 10:15:57 +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: do not discard screen updates 2022-04-22 11:47:08 +02:00
xenfb.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
xlnx_dp.c hw/display/xlnx_dp: fix an out-of-bounds read in xlnx_dp_read 2021-08-31 14:34:36 +02:00