[Buildroot] [PATCH v7 13/33] package/efl/libefl: add OpenGL/OpenGLES support

Yann E. MORIN yann.morin.1998 at free.fr
Thu Dec 10 18:15:24 UTC 2015


Romain, All,

On 2015-12-09 23:57 +0100, Yann E. MORIN spake thusly:
> On 2015-12-09 23:52 +0100, Romain Naour spake thusly:
> > Le 08/12/2015 13:46, Yann E. MORIN a écrit :
> > > On 2015-12-07 22:29 +0100, Romain Naour spake thusly:
> > >> Allow to enable graphic acceleration using OpenGL or
> > >> OpenGLES with efl libraries.
> > >>
> > >> The full opengl option depend on X11, because full openGL means GLX,
> > >> which means X11.
> > >>
> > >> Signed-off-by: Romain Naour <romain.naour at openwide.fr>
> > >> ---
> > >> v6: Rename OpenGL options (Yann E.Morin)
> > >>     Only full OpenGL support depends on X11.
> > >> v4: rename libefl
> > >>     improve commit log
> > >> ---
> > >>  package/efl/libefl/Config.in | 28 ++++++++++++++++++++++++++++
> > >>  package/efl/libefl/libefl.mk | 17 +++++++++++++++--
> > >>  2 files changed, 43 insertions(+), 2 deletions(-)
> > >>
> > >> diff --git a/package/efl/libefl/Config.in b/package/efl/libefl/Config.in
> > >> index 560a7b3..b0cb675 100644
> > >> --- a/package/efl/libefl/Config.in
> > >> +++ b/package/efl/libefl/Config.in
> > >> @@ -105,6 +105,34 @@ config BR2_PACKAGE_LIBEFL_X_XLIB
> > >>  	select BR2_PACKAGE_XLIB_LIBXTST
> > >>  	select BR2_PACKAGE_XPROTO_GLPROTO
> > >>  
> > >> +choice
> > >> +	bool "OpenGL support"
> > >> +	default BR2_PACKAGE_LIBEFL_OPENGL   if BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_XORG7
> > >> +	default BR2_PACKAGE_LIBEFL_OPENGLES if BR2_PACKAGE_HAS_LIBGLES
> > >> +	help
> > >> +	  libevas can be configured to use HW acceleration with OpenGL or
> > >> +	  OpenGLES.
> > >> +
> > >> +config BR2_PACKAGE_LIBEFL_OPENGL_NONE
> > >> +	bool "none"
> > >> +
> > >> +config BR2_PACKAGE_LIBEFL_OPENGL
> > >> +	bool "opengl"
> > >> +	depends on BR2_PACKAGE_HAS_LIBGL
> > >> +	depends on BR2_PACKAGE_XORG7
> > > 
> > > As an aferthought, and after playing around with the options in the
> > > menuconfig, I now wonder if it really makes sense to have full OpenGL
> > > support without X11 support (introduced in the previous patch)?
> > > 
> > > In which case we would probably write:
> > > 
> > >     config BR2_PACKAGE_LIBEFL_OPENGL
> > >         bool "opengl"
> > >         depends on BR2_PACKAGE_HAS_LIBGL
> > >         depends on BR2_PACKAGE_LIBEFL_X_XLIB
> > > 
> > >     comment "opengl support needs an opengl provider and X11 support"
> > >         depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_LIBEFL_X_XLIB
> > > 
> > > But then we reference "X11 support" which is directly hidden when Xorg
> > > is not enabled, so maybe add another comment in the X11 support patch:
> > > 
> > >     comment "X11 support needs Xorg"
> > >         depends on !BR2_PACKAGE_XORG7
> > > 
> > > Thoughts?
> > 
> > I don't know mush Wayland but maybe we can have full OpenGL support without X11
> > when Wayland is used ?
> 
> No, Wayland is OpenGL EGL with OpenGL ES, not full OpenGL.
> Unless EFL conflates the two...

So, as we've seen privately, the full OpenGL support in EFL should
indeed depend on EFL having X11 support.

Regards,
Yann E. MORIN.

> Regards,
> Yann E. MORIN.
> 
> > I think it may be useful with efl 1.16 [1]
> > But, I haven't looked closely to the question, I may be wrong...
> > 
> > [1]
> > https://phab.enlightenment.org/phame/live/3/post/enlightenment_foundation_libraries_1_16_and_friends_are_out/
> > 
> > Best regards,
> > Romain
> > 
> > > 
> > > Regards,
> > > Yann E. MORIN.
> > > 
> > >> +comment "opengl support needs X11 and an opengl provider"
> > >> +	depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7
> > >> +
> > >> +config BR2_PACKAGE_LIBEFL_OPENGLES
> > >> +	bool "opengles"
> > >> +	depends on BR2_PACKAGE_HAS_LIBGLES
> > >> +
> > >> +comment "opengles support needs an opengles provider"
> > >> +	depends on !BR2_PACKAGE_HAS_LIBGLES
> > >> +
> > >> +endchoice # OpenGL support
> > >> +
> > >>  comment "libevas loaders"
> > >>  
> > >>  config BR2_PACKAGE_LIBEFL_PNG
> > >> diff --git a/package/efl/libefl/libefl.mk b/package/efl/libefl/libefl.mk
> > >> index 4ebc20f..fa1ee74 100644
> > >> --- a/package/efl/libefl/libefl.mk
> > >> +++ b/package/efl/libefl/libefl.mk
> > >> @@ -43,8 +43,7 @@ LIBEFL_CONF_OPTS = \
> > >>  	--disable-cxx-bindings \
> > >>  	--disable-sdl \
> > >>  	--disable-systemd \
> > >> -	--enable-lua-old \
> > >> -	--with-opengl=none
> > >> +	--enable-lua-old
> > >>  
> > >>  # Disable untested configuration warning.
> > >>  ifeq ($(BR2_PACKAGE_LIBEFL_RECOMMENDED_CONFIG),)
> > >> @@ -167,6 +166,20 @@ else
> > >>  LIBEFL_CONF_OPTS += --with-x11=none
> > >>  endif
> > >>  
> > >> +ifeq ($(BR2_PACKAGE_LIBEFL_OPENGL),y)
> > >> +LIBEFL_CONF_OPTS += --with-opengl=full
> > >> +LIBEFL_DEPENDENCIES += libgl
> > >> +endif
> > >> +
> > >> +ifeq ($(BR2_PACKAGE_LIBEFL_OPENGLES),y)
> > >> +LIBEFL_CONF_OPTS += --with-opengl=es
> > >> +LIBEFL_DEPENDENCIES += libgles
> > >> +endif
> > >> +
> > >> +ifeq ($(BR2_PACKAGE_LIBEFL_OPENGL_NONE),y)
> > >> +LIBEFL_CONF_OPTS += --with-opengl=none
> > >> +endif
> > >> +
> > >>  # Loaders that need external dependencies needs to be --enable-XXX=yes
> > >>  # otherwise the default is '=static'.
> > >>  # All other loaders are statically built-in
> > >> -- 
> > >> 2.4.3
> > >>
> > >> _______________________________________________
> > >> buildroot mailing list
> > >> buildroot at busybox.net
> > >> http://lists.busybox.net/mailman/listinfo/buildroot
> > > 
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list