diff options
-rw-r--r-- | src/modules/evas/engines/gl_drm/evas_engine.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c index 12889a3fef..0b37659f8a 100644 --- a/src/modules/evas/engines/gl_drm/evas_engine.c +++ b/src/modules/evas/engines/gl_drm/evas_engine.c @@ -1177,6 +1177,23 @@ eng_image_native_set(void *data, void *image, void *native) NULL, 1, EVAS_COLORSPACE_ARGB8888); } + else if ((ns) && (ns->type == EVAS_NATIVE_SURFACE_WL_DMABUF)) + { + if (!ns->data.wl_dmabuf.resource) + { + struct dmabuf_attributes *attr; + void *v; + + attr = ns->data.wl_dmabuf.attr; + v = import_simple_dmabuf(ob->egl.disp, attr); + if (!v) { + ns->data.wl_dmabuf.attr = NULL; + return NULL; + } + glsym_eglDestroyImage(ob->egl.disp, v); + return NULL; + } + } else return NULL; } |