diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2016-12-07 16:41:34 -0600 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2016-12-07 16:41:34 -0600 |
commit | da5f41723aa3714a3a3faef59270066bdab2f11b (patch) | |
tree | 8ee4e34587bc7799e27c50dd0e75609a689d7881 | |
parent | cef41ae70a1c11565e1016debf6ce24ca259498d (diff) | |
download | efl-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.c | 4 |
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 |