summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-12-06 10:43:18 -0600
committerDerek Foreman <derekf@osg.samsung.com>2016-12-06 16:34:54 -0600
commit4258fa4f70b88a014efd42a503a8b825693428ea (patch)
tree9c43896bd05ecbfda255734a8828220d42e8e0e5
parent673b7359178552efcb25a7429942a2d099eaa8a0 (diff)
downloadefl-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.c17
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;
}