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