mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-18 05:28:36 -07:00
This commit introduces utility functions for the creation and deallocation
of QemuDmaBuf instances. Additionally, it updates all relevant sections
of the codebase to utilize these new utility functions.
v7: remove prefix, "dpy_gl_" from all helpers
qemu_dmabuf_free() returns without doing anything if input is null
(Daniel P. Berrangé <berrange@redhat.com>)
call G_DEFINE_AUTOPTR_CLEANUP_FUNC for qemu_dmabuf_free()
(Daniel P. Berrangé <berrange@redhat.com>)
v8: Introduction of helpers was removed as those were already added
by the previous commit
v9: set dmabuf->allow_fences to 'true' when dmabuf is created in
virtio_gpu_create_dmabuf()/virtio-gpu-udmabuf.c
removed unnecessary spaces were accidently added in the patch,
'ui/console: Use qemu_dmabuf_new() a...'
v11: Calling qemu_dmabuf_close was removed as closing dmabuf->fd will be
done in qemu_dmabuf_free anyway.
(Daniel P. Berrangé <berrange@redhat.com>)
v12: --- Calling qemu_dmabuf_close separately as qemu_dmabuf_free doesn't
do it.
--- 'dmabuf' is now allocated space so it should be freed at the end of
dbus_scanout_texture
v13: --- Immediately free dmabuf after it is released to prevent possible
leaking of the ptr
(Marc-André Lureau <marcandre.lureau@redhat.com>)
--- Use g_autoptr macro to define *dmabuf for auto clean up instead of
calling qemu_dmabuf_free
(Marc-André Lureau <marcandre.lureau@redhat.com>)
v14: --- (vhost-user-gpu) Change qemu_dmabuf_free back to g_clear_pointer
as it was done because of some misunderstanding (v13).
--- (vhost-user-gpu) g->dmabuf[m->scanout_id] needs to be set to NULL
to prevent freed dmabuf to be accessed again in case if(fd==-1)break;
happens (before new dmabuf is allocated). Otherwise, it would cause
invalid memory access when the same function is executed. Also NULL
check should be done before qemu_dmabuf_close (it asserts dmabuf!=NULL.).
(Marc-André Lureau <marcandre.lureau@redhat.com>)
Suggested-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
Cc: Daniel P. Berrangé <berrange@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Message-Id: <20240508175403.3399895-6-dongwon.kim@intel.com>
|
||
|---|---|---|
| .. | ||
| acpi-vga-stub.c | ||
| acpi-vga.c | ||
| artist.c | ||
| ati.c | ||
| ati_2d.c | ||
| ati_dbg.c | ||
| ati_int.h | ||
| ati_regs.h | ||
| bcm2835_fb.c | ||
| blizzard.c | ||
| bochs-display.c | ||
| cg3.c | ||
| cirrus_vga.c | ||
| cirrus_vga_internal.h | ||
| cirrus_vga_isa.c | ||
| cirrus_vga_rop.h | ||
| cirrus_vga_rop2.h | ||
| dm163.c | ||
| dpcd.c | ||
| edid-generate.c | ||
| edid-region.c | ||
| exynos4210_fimd.c | ||
| framebuffer.c | ||
| framebuffer.h | ||
| g364fb.c | ||
| i2c-ddc.c | ||
| jazz_led.c | ||
| Kconfig | ||
| macfb.c | ||
| meson.build | ||
| next-fb.c | ||
| omap_dss.c | ||
| omap_lcdc.c | ||
| pl110.c | ||
| pl110_template.h | ||
| pxa2xx_lcd.c | ||
| qxl-logger.c | ||
| qxl-render.c | ||
| qxl.c | ||
| qxl.h | ||
| ramfb-standalone.c | ||
| ramfb-stubs.c | ||
| ramfb.c | ||
| sii9022.c | ||
| sm501.c | ||
| ssd0303.c | ||
| ssd0323.c | ||
| tc6393xb.c | ||
| tcx.c | ||
| trace-events | ||
| trace.h | ||
| vga-access.h | ||
| vga-helpers.h | ||
| vga-isa.c | ||
| vga-mmio.c | ||
| vga-pci.c | ||
| vga.c | ||
| vga_int.h | ||
| vga_regs.h | ||
| vhost-user-gpu-pci.c | ||
| vhost-user-gpu.c | ||
| vhost-user-vga.c | ||
| virtio-dmabuf.c | ||
| virtio-gpu-base.c | ||
| virtio-gpu-gl.c | ||
| virtio-gpu-pci-gl.c | ||
| virtio-gpu-pci-rutabaga.c | ||
| virtio-gpu-pci.c | ||
| virtio-gpu-rutabaga.c | ||
| virtio-gpu-udmabuf-stubs.c | ||
| virtio-gpu-udmabuf.c | ||
| virtio-gpu-virgl.c | ||
| virtio-gpu.c | ||
| virtio-vga-gl.c | ||
| virtio-vga-rutabaga.c | ||
| virtio-vga.c | ||
| virtio-vga.h | ||
| vmware_vga.c | ||
| xenfb.c | ||
| xlnx_dp.c | ||