summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-12-07 16:41:34 -0600
committerDerek Foreman <derekf@osg.samsung.com>2016-12-07 16:41:34 -0600
commitda5f41723aa3714a3a3faef59270066bdab2f11b (patch)
tree8ee4e34587bc7799e27c50dd0e75609a689d7881
parentcef41ae70a1c11565e1016debf6ce24ca259498d (diff)
downloadefl-da5f41723aa3714a3a3faef59270066bdab2f11b.tar.gz
gl_drm: Only use dmabuf if the extension is present
Need to check for the extension string instead of just the presence of the function pointers.
-rw-r--r--src/modules/evas/engines/gl_drm/evas_engine.c4
1 files changed, 4 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 4821baa903..be082d6058 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -30,6 +30,7 @@ int _extn_have_buffer_age = 1;
/* local variables */
static Eina_Bool initted = EINA_FALSE;
+static Eina_Bool dmabuf_present = EINA_FALSE;
static int gl_wins = 0;
/* local function prototype types */
@@ -269,6 +270,8 @@ gl_extn_veto(Render_Engine *re)
if (!strstr(str, "EGL_EXT_swap_buffers_with_damage"))
glsym_eglSwapBuffersWithDamage = NULL;
+ if (strstr(str, "EGL_MESA_image_dma_buf_export"))
+ dmabuf_present = EINA_TRUE;
}
else
{
@@ -624,6 +627,7 @@ import_simple_dmabuf(EGLDisplay display, struct dmabuf_attributes *attributes)
EGLAttrib attribs[30];
int atti = 0;
+ if (!dmabuf_present) return NULL;
if (!glsym_eglCreateImage && !glsym_eglCreateImageKHR) return NULL;
/* This requires the Mesa commit in