1*4882a593SmuzhiyunFrom 9d71349961ef3d171ab8330ea169164a6a717d00 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Fri, 1 Jul 2022 17:28:05 +0800 4*4882a593SmuzhiyunSubject: [PATCH 04/10] evas_gl_drm: Drop dependency on mesa3d 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 7*4882a593Smuzhiyun--- 8*4882a593Smuzhiyun src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 2 +- 9*4882a593Smuzhiyun src/modules/evas/engines/gl_drm/evas_engine.h | 1 - 10*4882a593Smuzhiyun src/modules/evas/engines/gl_drm/evas_outbuf.c | 10 +--------- 11*4882a593Smuzhiyun 3 files changed, 2 insertions(+), 11 deletions(-) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundiff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 14*4882a593Smuzhiyunindex b992915..02e5226 100644 15*4882a593Smuzhiyun--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 16*4882a593Smuzhiyun+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 17*4882a593Smuzhiyun@@ -1148,7 +1148,7 @@ ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUS 18*4882a593Smuzhiyun static void *libglapi = NULL; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun if (!libglapi) libglapi = dlopen("libglapi.so.0", RTLD_LAZY | RTLD_GLOBAL); 21*4882a593Smuzhiyun- if (dlerror()) return NULL; 22*4882a593Smuzhiyun+ /* if (dlerror()) return NULL; */ 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun return _ecore_evas_new_internal(device, x, y, w, h, EINA_TRUE); 25*4882a593Smuzhiyun } 26*4882a593Smuzhiyundiff --git a/src/modules/evas/engines/gl_drm/evas_engine.h b/src/modules/evas/engines/gl_drm/evas_engine.h 27*4882a593Smuzhiyunindex d21bd5e..0383891 100644 28*4882a593Smuzhiyun--- a/src/modules/evas/engines/gl_drm/evas_engine.h 29*4882a593Smuzhiyun+++ b/src/modules/evas/engines/gl_drm/evas_engine.h 30*4882a593Smuzhiyun@@ -21,7 +21,6 @@ 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun # include <EGL/egl.h> 33*4882a593Smuzhiyun # include <EGL/eglext.h> 34*4882a593Smuzhiyun-# include <EGL/eglmesaext.h> 35*4882a593Smuzhiyun # include <GLES2/gl2.h> 36*4882a593Smuzhiyun # include <GLES2/gl2ext.h> 37*4882a593Smuzhiyun # include "../gl_generic/Evas_Engine_GL_Generic.h" 38*4882a593Smuzhiyundiff --git a/src/modules/evas/engines/gl_drm/evas_outbuf.c b/src/modules/evas/engines/gl_drm/evas_outbuf.c 39*4882a593Smuzhiyunindex 4fa1252..44e9ea4 100644 40*4882a593Smuzhiyun--- a/src/modules/evas/engines/gl_drm/evas_outbuf.c 41*4882a593Smuzhiyun+++ b/src/modules/evas/engines/gl_drm/evas_outbuf.c 42*4882a593Smuzhiyun@@ -5,10 +5,8 @@ static Outbuf *_evas_gl_drm_window = NULL; 43*4882a593Smuzhiyun static EGLContext context = EGL_NO_CONTEXT; 44*4882a593Smuzhiyun static int win_count = 0; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun-#ifdef EGL_MESA_platform_gbm 47*4882a593Smuzhiyun static PFNEGLGETPLATFORMDISPLAYEXTPROC dlsym_eglGetPlatformDisplayEXT = NULL; 48*4882a593Smuzhiyun static PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC dlsym_eglCreatePlatformWindowSurfaceEXT = NULL; 49*4882a593Smuzhiyun-#endif 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun static void 52*4882a593Smuzhiyun _evas_outbuf_gbm_surface_destroy(Outbuf *ob) 53*4882a593Smuzhiyun@@ -146,7 +144,6 @@ _evas_outbuf_init(void) 54*4882a593Smuzhiyun static int _init = 0; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun if (_init) return EINA_TRUE; 57*4882a593Smuzhiyun-#ifdef EGL_MESA_platform_gbm 58*4882a593Smuzhiyun { 59*4882a593Smuzhiyun const char *exts; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun@@ -159,7 +156,6 @@ _evas_outbuf_init(void) 62*4882a593Smuzhiyun eglGetProcAddress("eglCreatePlatformWindowSurfaceEXT"); 63*4882a593Smuzhiyun } 64*4882a593Smuzhiyun } 65*4882a593Smuzhiyun-#endif 66*4882a593Smuzhiyun _init = 1; 67*4882a593Smuzhiyun return EINA_TRUE; 68*4882a593Smuzhiyun } 69*4882a593Smuzhiyun@@ -212,12 +208,10 @@ _evas_outbuf_egl_setup(Outbuf *ob) 70*4882a593Smuzhiyun cfg_attr[n++] = EGL_NONE; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun ob->egl.disp = EGL_NO_DISPLAY; 73*4882a593Smuzhiyun-#ifdef EGL_MESA_platform_gbm 74*4882a593Smuzhiyun if (dlsym_eglGetPlatformDisplayEXT) 75*4882a593Smuzhiyun- ob->egl.disp = dlsym_eglGetPlatformDisplayEXT(EGL_PLATFORM_GBM_MESA, 76*4882a593Smuzhiyun+ ob->egl.disp = dlsym_eglGetPlatformDisplayEXT(EGL_PLATFORM_GBM_KHR, 77*4882a593Smuzhiyun ob->info->info.gbm, 78*4882a593Smuzhiyun NULL); 79*4882a593Smuzhiyun-#endif 80*4882a593Smuzhiyun if (ob->egl.disp == EGL_NO_DISPLAY) 81*4882a593Smuzhiyun ob->egl.disp = eglGetDisplay((EGLNativeDisplayType)ob->info->info.gbm); 82*4882a593Smuzhiyun if (ob->egl.disp == EGL_NO_DISPLAY) 83*4882a593Smuzhiyun@@ -282,12 +276,10 @@ _evas_outbuf_egl_setup(Outbuf *ob) 84*4882a593Smuzhiyun if (ob->egl.surface != EGL_NO_SURFACE) 85*4882a593Smuzhiyun eglDestroySurface(ob->egl.disp, ob->egl.surface); 86*4882a593Smuzhiyun ob->egl.surface = EGL_NO_SURFACE; 87*4882a593Smuzhiyun-#ifdef EGL_MESA_platform_gbm 88*4882a593Smuzhiyun if (dlsym_eglCreatePlatformWindowSurfaceEXT) 89*4882a593Smuzhiyun ob->egl.surface = 90*4882a593Smuzhiyun dlsym_eglCreatePlatformWindowSurfaceEXT(ob->egl.disp, ob->egl.config, 91*4882a593Smuzhiyun ob->surface, NULL); 92*4882a593Smuzhiyun-#endif 93*4882a593Smuzhiyun if (ob->egl.surface == EGL_NO_SURFACE) 94*4882a593Smuzhiyun ob->egl.surface = eglCreateWindowSurface(ob->egl.disp, ob->egl.config, 95*4882a593Smuzhiyun (EGLNativeWindowType)ob->surface, 96*4882a593Smuzhiyun-- 97*4882a593Smuzhiyun2.20.1 98*4882a593Smuzhiyun 99