/qemu/hw/vfio/ |
H A D | display.c | 190 static void vfio_display_update_cursor(VFIODMABuf *dmabuf, in vfio_display_update_cursor() argument 193 if (dmabuf->pos_x != plane->x_pos || dmabuf->pos_y != plane->y_pos) { in vfio_display_update_cursor() 194 dmabuf->pos_x = plane->x_pos; in vfio_display_update_cursor() 195 dmabuf->pos_y = plane->y_pos; in vfio_display_update_cursor() 196 dmabuf->pos_updates++; in vfio_display_update_cursor() 198 if (dmabuf->hot_x != plane->x_hot || dmabuf->hot_y != plane->y_hot) { in vfio_display_update_cursor() 199 dmabuf->hot_x = plane->x_hot; in vfio_display_update_cursor() 200 dmabuf in vfio_display_update_cursor() 210 VFIODMABuf *dmabuf; vfio_display_get_dmabuf() local 260 vfio_display_free_one_dmabuf(VFIODisplay * dpy,VFIODMABuf * dmabuf) vfio_display_free_one_dmabuf() argument 271 VFIODMABuf *dmabuf, *tmp; vfio_display_free_dmabufs() local 369 VFIODMABuf *dmabuf; vfio_display_dmabuf_exit() local [all...] |
/qemu/hw/display/ |
H A D | virtio-gpu-udmabuf.c | 75 warn_report("%s: dmabuf mmap failed: %s", __func__, in virtio_gpu_remap_udmabuf() 160 static void virtio_gpu_free_dmabuf(VirtIOGPU *g, VGPUDMABuf *dmabuf) in virtio_gpu_free_dmabuf() argument 164 scanout = &g->parent_obj.scanout[dmabuf->scanout_id]; in virtio_gpu_free_dmabuf() 165 dpy_gl_release_dmabuf(scanout->con, dmabuf->buf); in virtio_gpu_free_dmabuf() 166 g_clear_pointer(&dmabuf->buf, qemu_dmabuf_free); in virtio_gpu_free_dmabuf() 167 QTAILQ_REMOVE(&g->dmabuf.bufs, dmabuf, next); in virtio_gpu_free_dmabuf() 168 g_free(dmabuf); in virtio_gpu_free_dmabuf() 178 VGPUDMABuf *dmabuf; in virtio_gpu_create_dmabuf() 184 dmabuf in virtio_gpu_create_dmabuf() 177 VGPUDMABuf *dmabuf; virtio_gpu_create_dmabuf() local [all...] |
H A D | vhost-user-gpu.c | 253 QemuDmaBuf *dmabuf; in vhost_user_gpu_handle_display() 265 dmabuf = g->dmabuf[m->scanout_id]; in vhost_user_gpu_handle_display() 267 if (dmabuf) { in vhost_user_gpu_handle_display() 268 qemu_dmabuf_close(dmabuf); in vhost_user_gpu_handle_display() 269 dpy_gl_release_dmabuf(con, dmabuf); in vhost_user_gpu_handle_display() 270 g_clear_pointer(&dmabuf, qemu_dmabuf_free); in vhost_user_gpu_handle_display() 275 g->dmabuf[m->scanout_id] = NULL; in vhost_user_gpu_handle_display() 284 dmabuf = qemu_dmabuf_new(m->fd_width, m->fd_height, in vhost_user_gpu_handle_display() 290 dpy_gl_scanout_dmabuf(con, dmabuf); in vhost_user_gpu_handle_display() 252 QemuDmaBuf *dmabuf; vhost_user_gpu_handle_display() local [all...] |
H A D | meson.build | 40 system_ss.add(when: 'CONFIG_VIRTIO', if_true: files('virtio-dmabuf.c'))
|
/qemu/ui/ |
H A D | gtk-egl.c | 70 QemuDmaBuf *dmabuf = vc->gfx.guest_fb.dmabuf; in gd_egl_draw() local 86 if (dmabuf) { in gd_egl_draw() 87 if (!qemu_dmabuf_get_draw_submitted(dmabuf)) { in gd_egl_draw() 90 qemu_dmabuf_set_draw_submitted(dmabuf, false); in gd_egl_draw() 101 if (dmabuf) { in gd_egl_draw() 102 egl_dmabuf_create_fence(dmabuf); in gd_egl_draw() 103 fence_fd = qemu_dmabuf_get_fence_fd(dmabuf); in gd_egl_draw() 154 if (vc->gfx.guest_fb.dmabuf && in gd_egl_refresh() 155 qemu_dmabuf_get_draw_submitted(vc->gfx.guest_fb.dmabuf)) { in gd_egl_refresh() 263 gd_egl_scanout_dmabuf(DisplayChangeListener * dcl,QemuDmaBuf * dmabuf) gd_egl_scanout_dmabuf() argument 289 gd_egl_cursor_dmabuf(DisplayChangeListener * dcl,QemuDmaBuf * dmabuf,bool have_hot,uint32_t hot_x,uint32_t hot_y) gd_egl_cursor_dmabuf() argument [all...] |
H A D | gtk-gl-area.c | 43 QemuDmaBuf *dmabuf = vc->gfx.guest_fb.dmabuf; in gd_gl_area_draw() local 62 if (dmabuf) { in gd_gl_area_draw() 63 if (!qemu_dmabuf_get_draw_submitted(dmabuf)) { in gd_gl_area_draw() 66 qemu_dmabuf_set_draw_submitted(dmabuf, false); in gd_gl_area_draw() 81 if (dmabuf) { in gd_gl_area_draw() 82 egl_dmabuf_create_sync(dmabuf); in gd_gl_area_draw() 87 if (dmabuf) { in gd_gl_area_draw() 89 egl_dmabuf_create_fence(dmabuf); in gd_gl_area_draw() 90 fence_fd = qemu_dmabuf_get_fence_fd(dmabuf); in gd_gl_area_draw() 297 gd_gl_area_scanout_dmabuf(DisplayChangeListener * dcl,QemuDmaBuf * dmabuf) gd_gl_area_scanout_dmabuf() argument [all...] |
H A D | egl-headless.c | 86 QemuDmaBuf *dmabuf) in egl_scanout_dmabuf() argument 90 egl_dmabuf_import_texture(dmabuf); in egl_scanout_dmabuf() 91 texture = qemu_dmabuf_get_texture(dmabuf); in egl_scanout_dmabuf() 96 width = qemu_dmabuf_get_width(dmabuf); in egl_scanout_dmabuf() 97 height = qemu_dmabuf_get_height(dmabuf); 104 QemuDmaBuf *dmabuf, bool have_hot, in egl_cursor_dmabuf() 110 if (dmabuf) { in egl_cursor_dmabuf() 111 egl_dmabuf_import_texture(dmabuf); in egl_cursor_dmabuf() 112 texture = qemu_dmabuf_get_texture(dmabuf); in egl_cursor_dmabuf() 117 width = qemu_dmabuf_get_width(dmabuf); in egl_release_dmabuf() argument 99 egl_cursor_dmabuf(DisplayChangeListener * dcl,QemuDmaBuf * dmabuf,bool have_hot,uint32_t hot_x,uint32_t hot_y) egl_cursor_dmabuf() argument [all...] |
H A D | egl-helpers.c | 148 if (src->dmabuf) { in egl_fb_blit() 149 x1 = qemu_dmabuf_get_x(src->dmabuf); in egl_fb_blit() 150 y1 = qemu_dmabuf_get_y(src->dmabuf); in egl_fb_blit() 151 w = qemu_dmabuf_get_width(src->dmabuf); in egl_fb_blit() 152 h = qemu_dmabuf_get_height(src->dmabuf); in egl_fb_blit() 306 void egl_dmabuf_import_texture(QemuDmaBuf *dmabuf) in egl_dmabuf_import_texture() argument 312 uint32_t texture = qemu_dmabuf_get_texture(dmabuf); in egl_dmabuf_import_texture() 319 attrs[i++] = qemu_dmabuf_get_backing_width(dmabuf); in egl_dmabuf_import_texture() 321 attrs[i++] = qemu_dmabuf_get_backing_height(dmabuf); in egl_dmabuf_import_texture() 323 attrs[i++] = qemu_dmabuf_get_fourcc(dmabuf); in egl_dmabuf_import_texture() 357 egl_dmabuf_release_texture(QemuDmaBuf * dmabuf) egl_dmabuf_release_texture() argument 367 egl_dmabuf_create_sync(QemuDmaBuf * dmabuf) egl_dmabuf_create_sync() argument 383 egl_dmabuf_create_fence(QemuDmaBuf * dmabuf) egl_dmabuf_create_fence() argument [all...] |
H A D | dbus-listener.c | 276 QemuDmaBuf *dmabuf) in dbus_scanout_dmabuf() argument 286 fd = qemu_dmabuf_get_fd(dmabuf); in dbus_scanout_dmabuf() 289 error_report("Failed to setup dmabuf fdlist: %s", err->message); in dbus_scanout_dmabuf() 295 width = qemu_dmabuf_get_width(dmabuf); in dbus_scanout_dmabuf() 296 height = qemu_dmabuf_get_height(dmabuf); in dbus_scanout_dmabuf() 297 stride = qemu_dmabuf_get_stride(dmabuf); in dbus_scanout_dmabuf() 298 fourcc = qemu_dmabuf_get_fourcc(dmabuf); in dbus_scanout_dmabuf() 299 modifier = qemu_dmabuf_get_modifier(dmabuf); in dbus_scanout_dmabuf() 300 y0_top = qemu_dmabuf_get_y0_top(dmabuf); in dbus_scanout_dmabuf() 445 g_autoptr(QemuDmaBuf) dmabuf in dbus_scanout_texture() 441 QemuDmaBuf dmabuf = { dbus_scanout_texture() local 484 dbus_cursor_dmabuf(DisplayChangeListener * dcl,QemuDmaBuf * dmabuf,bool have_hot,uint32_t hot_x,uint32_t hot_y) dbus_cursor_dmabuf() argument 530 dbus_release_dmabuf(DisplayChangeListener * dcl,QemuDmaBuf * dmabuf) dbus_release_dmabuf() argument [all...] |
H A D | spice-display.c | 963 QemuDmaBuf *dmabuf) in qemu_spice_gl_scanout_dmabuf() argument 967 ssd->guest_dmabuf = dmabuf; in qemu_spice_gl_scanout_dmabuf() 975 QemuDmaBuf *dmabuf, bool have_hot, in qemu_spice_gl_cursor_dmabuf() argument 985 trace_qemu_spice_gl_cursor(ssd->qxl.id, dmabuf != NULL, have_hot); in qemu_spice_gl_cursor_dmabuf() 986 if (dmabuf) { in qemu_spice_gl_cursor_dmabuf() 987 egl_dmabuf_import_texture(dmabuf); in qemu_spice_gl_cursor_dmabuf() 988 texture = qemu_dmabuf_get_texture(dmabuf); in qemu_spice_gl_cursor_dmabuf() 992 width = qemu_dmabuf_get_width(dmabuf); in qemu_spice_gl_cursor_dmabuf() 993 height = qemu_dmabuf_get_height(dmabuf); in qemu_spice_gl_cursor_dmabuf() 1012 QemuDmaBuf *dmabuf) in qemu_spice_gl_release_dmabuf() 1009 qemu_spice_gl_release_dmabuf(DisplayChangeListener * dcl,QemuDmaBuf * dmabuf) qemu_spice_gl_release_dmabuf() argument 1044 QemuDmaBuf *dmabuf = ssd->guest_dmabuf; qemu_spice_gl_update() local [all...] |
H A D | console.c | 284 dcl->ops->dpy_gl_scanout_dmabuf(dcl, con->scanout.dmabuf); in displaychangelistener_display_console() 1085 QemuDmaBuf *dmabuf) in dpy_gl_scanout_dmabuf() argument 1091 con->scanout.dmabuf = dmabuf; in dpy_gl_scanout_dmabuf() 1097 dcl->ops->dpy_gl_scanout_dmabuf(dcl, dmabuf); in dpy_gl_scanout_dmabuf() 1102 void dpy_gl_cursor_dmabuf(QemuConsole *con, QemuDmaBuf *dmabuf, in dpy_gl_cursor_dmabuf() argument 1113 dcl->ops->dpy_gl_cursor_dmabuf(dcl, dmabuf, in dpy_gl_cursor_dmabuf() 1136 QemuDmaBuf *dmabuf) in dpy_gl_release_dmabuf() argument 1146 dcl->ops->dpy_gl_release_dmabuf(dcl, dmabuf); in dpy_gl_release_dmabuf() 1462 return qemu_dmabuf_get_width(con->scanout.dmabuf); in qemu_console_get_width() [all...] |
H A D | dbus-console.c | 111 QemuDmaBuf *dmabuf) in dbus_gl_scanout_dmabuf() argument 117 width = qemu_dmabuf_get_width(dmabuf); in dbus_gl_scanout_dmabuf() 118 height = qemu_dmabuf_get_height(dmabuf); in dbus_gl_scanout_dmabuf()
|
H A D | gtk.c | 583 QemuDmaBuf *dmabuf) in gd_gl_release_dmabuf() argument 588 egl_dmabuf_release_texture(dmabuf); in gd_gl_release_dmabuf() 589 if (vc->gfx.guest_fb.dmabuf == dmabuf) { in gd_gl_release_dmabuf() 590 vc->gfx.guest_fb.dmabuf = NULL; in gd_gl_release_dmabuf() 598 QemuDmaBuf *dmabuf = vc->gfx.guest_fb.dmabuf; in gd_hw_gl_flushed() local 601 fence_fd = qemu_dmabuf_get_fence_fd(dmabuf); in gd_hw_gl_flushed() 605 qemu_dmabuf_set_fence_fd(dmabuf, -1);
|
/qemu/include/ui/ |
H A D | egl-helpers.h | 23 QemuDmaBuf *dmabuf; member 52 void egl_dmabuf_import_texture(QemuDmaBuf *dmabuf); 53 void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf); 54 void egl_dmabuf_create_sync(QemuDmaBuf *dmabuf); 55 void egl_dmabuf_create_fence(QemuDmaBuf *dmabuf);
|
H A D | console.h | 10 #include "ui/dmabuf.h" 201 QemuDmaBuf *dmabuf; 256 QemuDmaBuf *dmabuf); 259 QemuDmaBuf *dmabuf, bool have_hot, 266 QemuDmaBuf *dmabuf); 338 QemuDmaBuf *dmabuf); 339 void dpy_gl_cursor_dmabuf(QemuConsole *con, QemuDmaBuf *dmabuf, 344 QemuDmaBuf *dmabuf); 219 QemuDmaBuf *dmabuf; global() member
|
H A D | gtk.h | 181 QemuDmaBuf *dmabuf); 183 QemuDmaBuf *dmabuf, bool have_hot, 208 QemuDmaBuf *dmabuf);
|
/qemu/include/hw/virtio/ |
H A D | virtio-gpu.h | 212 } dmabuf; member 241 QemuDmaBuf *dmabuf[VIRTIO_GPU_MAX_SCANOUTS]; member
|
/qemu/tests/unit/ |
H A D | meson.build | 135 'test-virtio-dmabuf': [meson.project_source_root() / 'hw/display/virtio-dmabuf.c'],
|
/qemu/include/hw/vfio/ |
H A D | vfio-common.h | 173 } dmabuf; member
|
/qemu/docs/interop/ |
H A D | vhost-user-gpu.rst | 286 Same as VHOST_USER_GPU_DMABUF_SCANOUT, but also sends the dmabuf modifiers
|
H A D | vhost-user.rst | 1649 :reply payload: dmabuf fd 1841 by the backend to remove themselves from to the virtio-dmabuf shared 1853 :reply payload: dmabuf fd and ``u64`` 1857 by the backends to retrieve a given dma-buf fd from the virtio-dmabuf
|
/qemu/ |
H A D | MAINTAINERS | 2282 virtio-dmabuf 2285 F: hw/display/virtio-dmabuf.c 2286 F: include/hw/virtio/virtio-dmabuf.h 2287 F: tests/unit/test-virtio-dmabuf.c
|
/qemu/tests/data/qobject/ |
H A D | qdict.txt | 4491 dmabuf.c: 35686
|