xref: /OK3568_Linux_fs/buildroot/package/efl/0004-evas_gl_drm-Drop-dependency-on-mesa3d.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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