c0fcd6334f
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_2d.c | ||
ati_dbg.c | ||
ati_int.h | ||
ati_regs.h | ||
ati.c | ||
bcm2835_fb.c | ||
blizzard.c | ||
bochs-display.c | ||
cg3.c | ||
cirrus_vga_internal.h | ||
cirrus_vga_isa.c | ||
cirrus_vga_rop2.h | ||
cirrus_vga_rop.h | ||
cirrus_vga.c | ||
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_template.h | ||
pl110.c | ||
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_int.h | ||
vga_regs.h | ||
vga-access.h | ||
vga-helpers.h | ||
vga-isa.c | ||
vga-mmio.c | ||
vga-pci.c | ||
vga.c | ||
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 |