diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2016-12-06 10:43:18 -0600 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2016-12-06 16:34:54 -0600 |
commit | 4258fa4f70b88a014efd42a503a8b825693428ea (patch) | |
tree | 9c43896bd05ecbfda255734a8828220d42e8e0e5 | |
parent | 673b7359178552efcb25a7429942a2d099eaa8a0 (diff) | |
download | efl-4258fa4f70b88a014efd42a503a8b825693428ea.tar.gz |
gl_drm: Allow testing of dmabuf objects
Enlightenment needs to know if a specific dmabuf format is supported
before it lets clients use it. This lets E test commit a wayland
dmabuf object without assigning it a buffer.
-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; } |