forked from enlightenment/efl
evas-wayland-egl: Fix evas wayland_egl engine crash on mesa driver
Summary: Evas wayland_egl engine crashes on startup when it is running with mesa. Evas is trying to get EGL / GLES extension function addresses where evas_gl_symbols. It is called before eglGetDisplay. Then mesa considers that current egl platform is X11 if it has no EGL_PLATFORM env var. This behavior of mesa is bad. But we should provide workaround until it is fixed. Thus EGL_PLATFORM env var should be defined to wayland before calling eglGetProcAddress. @fix Test Plan: run elementary_test under wayland with wayland_egl engine. Reviewers: raster, stefan_schmidt, devilhorns Reviewed By: devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D1312
This commit is contained in:
parent
e5d841354d
commit
110b0108ad
|
@ -100,6 +100,14 @@ gl_symbols(void)
|
||||||
|
|
||||||
if (done) return;
|
if (done) return;
|
||||||
|
|
||||||
|
/* FIXME: Remove this line as soon as eglGetDisplay() autodetection
|
||||||
|
* gets fixed. Currently it is incorrectly detecting wl_display and
|
||||||
|
* returning _EGL_PLATFORM_X11 instead of _EGL_PLATFORM_WAYLAND.
|
||||||
|
*
|
||||||
|
* See ticket #1972 for more info.
|
||||||
|
*/
|
||||||
|
setenv("EGL_PLATFORM", "wayland", 1);
|
||||||
|
|
||||||
#define LINK2GENERIC(sym) \
|
#define LINK2GENERIC(sym) \
|
||||||
glsym_##sym = dlsym(RTLD_DEFAULT, #sym);
|
glsym_##sym = dlsym(RTLD_DEFAULT, #sym);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue