evas gl - fix compositing/native surface with egl/gles after glvnd
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 14 Jul 2017 09:55:25 +0000 (18:55 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Sun, 16 Jul 2017 06:56:02 +0000 (15:56 +0900)
commit2e6587a14b5e301e66f0ec5ef080eccb897b0fc5
treed31a798ba7119aeececab2cb878949af6b916df8
parent53d6486ffaec1e16dbad72d663a4f16ef3ca53f3
evas gl - fix compositing/native surface with egl/gles after glvnd

this fixes an issue that has cropped up in the past few months - only
nvidia drivers with egl/gles in x11... and compositing won't work
(native surface) and the introduction of libglvnd

it's a combination of libglvnd lying that it has symbols it can't
later find, new features to get core functions via procaddress that we
hadn't migrated to use AND use preferring core functions that libglvnd
will expose, so switching to KHR extensions by preference. we also
need to symmetrically use destroy image khr too...

oddly enough using procaddress purely for create/destroy image makes
wayland fail ... sofor now i'm taking advantage of the fact that
wayland has no extensions string passed in at the moment and still
doing dlsym... this is odd though.

@fix
src/modules/evas/engines/eglfs/evas_engine.c
src/modules/evas/engines/gl_cocoa/evas_outbuf.m
src/modules/evas/engines/gl_common/evas_gl_common.h
src/modules/evas/engines/gl_common/evas_gl_context.c
src/modules/evas/engines/gl_drm/evas_engine.c
src/modules/evas/engines/gl_sdl/evas_engine.c
src/modules/evas/engines/gl_x11/evas_engine.c
src/modules/evas/engines/wayland_egl/evas_engine.c