[vlc-devel] [PATCH 1/2] egl: Import GLES symbols with a direct library dlopen

Thomas Guillem thomas at gllm.fr
Wed May 23 08:38:23 CEST 2018


On Tue, May 22, 2018, at 17:52, Rémi Denis-Courmont wrote:
> Le tiistaina 22. toukokuuta 2018, 18.35.45 EEST Thomas Guillem a écrit :
> > On Tue, May 22, 2018, at 17:19, Rémi Denis-Courmont wrote:
> > > Le tiistaina 22. toukokuuta 2018, 18.08.14 EEST Thomas Guillem a écrit :
> > > > VLC uses eglGetProcAddress() to fetch core symbols.
> > > 
> > > There are no such bugs in the EGL plugin AFAICT.
> > > 
> > > There are a lot potential of issues in the GL(ES) plugin though.
> > > GET_PROC_ADDR_CORE() seems counter-sensical.
> > 
> > OK, the culprit is
> > http://git.videolan.org/?p=vlc.git;a=commit;h=744ac6ec380ef07db7cb6f6ed07d4
> > c9ba9708798 then
> > 
> > We should not use eglGetProcAddress() to fetch core symbols but
> > dlopen+dlsym.
> 
> No. There are no portable ways to get dlsym() in the dependent libraries. 
> POSIX specifies no such thing. Linux has no such thing (neither RTLD_DEFAULT 
> nor RTLD_NEXT match). FreeBSD seems to have something (NULL) but who cares.
> 
> The simplest solution is to check for GLX_ARB_get_proc_address v1.1 or 
> EGL_KHR_get_all_proc_addresses respectively.

I can do that to fix the issue introduced by 744ac6ec380ef07db7cb6f6ed07d4c9ba9708798.
> 
> If you give a damn about the non-extended clients, then you need to reference 
> the symbols directly in the GL provider. It will be tedious and so I must 
> advise against it.

What is a non-extended client ?

What is the problem of adding a dlopen/dlsym for the GLESV2 case ?

> 
> -- 
> Rémi Denis-Courmont
> http://www.remlab.net/
> 
> 
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list