static void egl_scanout_dmabuf(DisplayChangeListener *dcl, QemuDmaBuf *dmabuf) { egl_dmabuf_import_texture(dmabuf); if (!dmabuf->texture) { return; } egl_scanout_texture(dcl, dmabuf->texture, false, dmabuf->width, dmabuf->height, 0, 0, dmabuf->width, dmabuf->height); }
void gd_egl_scanout_dmabuf(DisplayChangeListener *dcl, QemuDmaBuf *dmabuf) { #ifdef CONFIG_OPENGL_DMABUF egl_dmabuf_import_texture(dmabuf); if (!dmabuf->texture) { return; } gd_egl_scanout_texture(dcl, dmabuf->texture, false, dmabuf->width, dmabuf->height, 0, 0, dmabuf->width, dmabuf->height); #endif }
static void egl_cursor_dmabuf(DisplayChangeListener *dcl, QemuDmaBuf *dmabuf, bool have_hot, uint32_t hot_x, uint32_t hot_y) { egl_dpy *edpy = container_of(dcl, egl_dpy, dcl); if (dmabuf) { egl_dmabuf_import_texture(dmabuf); if (!dmabuf->texture) { return; } egl_fb_setup_for_tex(&edpy->cursor_fb, dmabuf->width, dmabuf->height, dmabuf->texture, false); } else { egl_fb_destroy(&edpy->cursor_fb); } }
void gd_egl_cursor_dmabuf(DisplayChangeListener *dcl, QemuDmaBuf *dmabuf, bool have_hot, uint32_t hot_x, uint32_t hot_y) { #ifdef CONFIG_OPENGL_DMABUF VirtualConsole *vc = container_of(dcl, VirtualConsole, gfx.dcl); if (dmabuf) { egl_dmabuf_import_texture(dmabuf); if (!dmabuf->texture) { return; } egl_fb_setup_for_tex(&vc->gfx.cursor_fb, dmabuf->width, dmabuf->height, dmabuf->texture, false); } else { egl_fb_destroy(&vc->gfx.cursor_fb); } #endif }