Patchwork [1/2] qt5declarative: Reduce dependencies to GLes2 only

login
register
mail settings
Submitter Jérôme Pouiller
Date April 1, 2014, 4:16 p.m.
Message ID <1396368972-8690-2-git-send-email-jezz@sysmic.org>
Download mbox | patch
Permalink /patch/336028/
State Not Applicable
Headers show

Comments

Jérôme Pouiller - April 1, 2014, 4:16 p.m.
From: Jérôme Pouiller <j.pouiller@sysmic.fr>

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
---
 package/qt5/qt5base/qt5base.mk       | 12 +++++++++---
 package/qt5/qt5declarative/Config.in |  1 -
 2 files changed, 9 insertions(+), 4 deletions(-)
Thomas Petazzoni - April 20, 2014, 9:18 a.m.
Fatih,

Since you are our Qt5 expert, could you comment on this patch, and give
your Reviewed-by, Tested-by and/or Acked-by?

Thanks!

Thomas

On Tue,  1 Apr 2014 18:16:11 +0200, Jérôme Pouiller wrote:
> From: Jérôme Pouiller <j.pouiller@sysmic.fr>
> 
> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
> ---
>  package/qt5/qt5base/qt5base.mk       | 12 +++++++++---
>  package/qt5/qt5declarative/Config.in |  1 -
>  2 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 618251e..b99733a 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -96,9 +96,15 @@ else
>  QT5BASE_CONFIGURE_OPTS += -no-xcb
>  endif
>  
> -ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
> -QT5BASE_CONFIGURE_OPTS += -opengl es2 -eglfs
> +ifeq ($(BR2_PACKAGE_HAS_OPENGL_EGL)$(BR2_PACKAGE_HAS_OPENGL_ES),yy)
> +QT5BASE_CONFIGURE_OPTS += -opengl es2
>  QT5BASE_DEPENDENCIES   += libgles libegl
> +else
> +QT5BASE_CONFIGURE_OPTS += -no-opengl
> +endif
> +
> +ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
> +QT5BASE_CONFIGURE_OPTS += -eglfs
>  ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y)
>  QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \
>  	$(@D)/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp
> @@ -108,7 +114,7 @@ QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \
>  	$(@D)/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
>  endif
>  else
> -QT5BASE_CONFIGURE_OPTS += -no-opengl -no-eglfs
> +QT5BASE_CONFIGURE_OPTS += -no-eglfs
>  endif
>  
>  QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl)
> diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in
> index c5753b1..7f25999 100644
> --- a/package/qt5/qt5declarative/Config.in
> +++ b/package/qt5/qt5declarative/Config.in
> @@ -3,7 +3,6 @@ config BR2_PACKAGE_QT5DECLARATIVE
>  	select BR2_PACKAGE_QT5XMLPATTERNS
>  	select BR2_PACKAGE_QT5BASE
>  	select BR2_PACKAGE_QT5BASE_GUI
> -	select BR2_PACKAGE_QT5BASE_EGLFS
>  	depends on BR2_PACKAGE_HAS_OPENGL_EGL
>  	depends on BR2_PACKAGE_HAS_OPENGL_ES
>  	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
Hadrien Boutteville - July 15, 2014, 8:26 a.m.
Hello Fatih,

I'm mainlining some pending patches for the Google Summer of Code, and
for this one I'm not really able to say if it is correct or not. It
seems coherent for me but I'm not a Qt5 expert.

As Thomas said, since you are our Qt5 expert have you some comments on
this patch?

Thanks!

Hadrien

On Sun, 20 Apr 2014 11:18:43 +0200, Thomas Petazzoni wrote:
> Fatih,
> 
> Since you are our Qt5 expert, could you comment on this patch, and give
> your Reviewed-by, Tested-by and/or Acked-by?
> 
> Thanks!
> 
> Thomas
> 
> On Tue,  1 Apr 2014 18:16:11 +0200, Jérôme Pouiller wrote:
>> From: Jérôme Pouiller <j.pouiller@sysmic.fr>
>>
>> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
>> ---
>>  package/qt5/qt5base/qt5base.mk       | 12 +++++++++---
>>  package/qt5/qt5declarative/Config.in |  1 -
>>  2 files changed, 9 insertions(+), 4 deletions(-)
>>
>> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
>> index 618251e..b99733a 100644
>> --- a/package/qt5/qt5base/qt5base.mk
>> +++ b/package/qt5/qt5base/qt5base.mk
>> @@ -96,9 +96,15 @@ else
>>  QT5BASE_CONFIGURE_OPTS += -no-xcb
>>  endif
>>  
>> -ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
>> -QT5BASE_CONFIGURE_OPTS += -opengl es2 -eglfs
>> +ifeq ($(BR2_PACKAGE_HAS_OPENGL_EGL)$(BR2_PACKAGE_HAS_OPENGL_ES),yy)
>> +QT5BASE_CONFIGURE_OPTS += -opengl es2
>>  QT5BASE_DEPENDENCIES   += libgles libegl
>> +else
>> +QT5BASE_CONFIGURE_OPTS += -no-opengl
>> +endif
>> +
>> +ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
>> +QT5BASE_CONFIGURE_OPTS += -eglfs
>>  ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y)
>>  QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \
>>  	$(@D)/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp
>> @@ -108,7 +114,7 @@ QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \
>>  	$(@D)/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
>>  endif
>>  else
>> -QT5BASE_CONFIGURE_OPTS += -no-opengl -no-eglfs
>> +QT5BASE_CONFIGURE_OPTS += -no-eglfs
>>  endif
>>  
>>  QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl)
>> diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in
>> index c5753b1..7f25999 100644
>> --- a/package/qt5/qt5declarative/Config.in
>> +++ b/package/qt5/qt5declarative/Config.in
>> @@ -3,7 +3,6 @@ config BR2_PACKAGE_QT5DECLARATIVE
>>  	select BR2_PACKAGE_QT5XMLPATTERNS
>>  	select BR2_PACKAGE_QT5BASE
>>  	select BR2_PACKAGE_QT5BASE_GUI
>> -	select BR2_PACKAGE_QT5BASE_EGLFS
>>  	depends on BR2_PACKAGE_HAS_OPENGL_EGL
>>  	depends on BR2_PACKAGE_HAS_OPENGL_ES
>>  	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
> 
> 
>
Fatih Aşıcı - July 15, 2014, 2:03 p.m.
On Tuesday 15 July 2014 11:26:06 Hadrien Boutteville wrote:
> Hello Fatih,

Hi,

> I'm mainlining some pending patches for the Google Summer of Code, and
> for this one I'm not really able to say if it is correct or not. It
> seems coherent for me but I'm not a Qt5 expert.
> 
> As Thomas said, since you are our Qt5 expert have you some comments on
> this patch?

Sorry for the late reply. Totally forgot this mail.

Desktop opengl and opengles2 implementations can be available at the same 
time. For -opengl option, we should allow the user to select the api. Each 
implementation option must depend on only the related library (_HAS_LIBGL for 
desktop and _HAS_LIBGLES for es2).

_QT5BASE_EGLFS must only depend on _HAS_LIBEGL. If selected, "-eglfs" must be 
passed.

At this time, Qt5OpenGL library is installed if _QT5BASE_EGLFS is selected. 
This must be changed, too. It should be installed to target, if (_HAS_LIBGL || 
_HAS_LIBGLES).

I will prepare a patch to fix all these issues.

Regards,
Fatih
Jérôme Pouiller - July 15, 2014, 4:24 p.m.
On Tuesday 15 July 2014 17:03:27 Fatih Aşıcı wrote:
> On Tuesday 15 July 2014 11:26:06 Hadrien Boutteville wrote:
> > Hello Fatih,
> 
> Hi,
> 
> > I'm mainlining some pending patches for the Google Summer of Code, and
> > for this one I'm not really able to say if it is correct or not. It
> > seems coherent for me but I'm not a Qt5 expert.
> > 
> > As Thomas said, since you are our Qt5 expert have you some comments on
> > this patch?
> 
> Sorry for the late reply. Totally forgot this mail.
... and I totally forgot I sent it. 

I initially sent it to Marco Trapanese in order to help him (may be I should 
have send it privately in order to not appear in Patchwork?).

Some work (as Fatih describe below) is necessary before it could be mainlined.

> Desktop opengl and opengles2 implementations can be available at the same
> time. For -opengl option, we should allow the user to select the api. Each
> implementation option must depend on only the related library (_HAS_LIBGL
> for desktop and _HAS_LIBGLES for es2).
> 
> _QT5BASE_EGLFS must only depend on _HAS_LIBEGL. If selected, "-eglfs" must
> be passed.
> 
> At this time, Qt5OpenGL library is installed if _QT5BASE_EGLFS is selected.
> This must be changed, too. It should be installed to target, if (_HAS_LIBGL
> || _HAS_LIBGLES).


--
Jérôme Pouiller
Thomas Petazzoni - July 15, 2014, 5:03 p.m.
Dear Jérôme Pouiller,

On Tue, 15 Jul 2014 18:24:47 +0200, Jérôme Pouiller wrote:

> I initially sent it to Marco Trapanese in order to help him (may be I should 
> have send it privately in order to not appear in Patchwork?).
> 
> Some work (as Fatih describe below) is necessary before it could be mainlined.

In this case, you're definitely welcome to send the patch to the
mailing list, but then mention in the commit log that the patch is not
ready for mainline, so that we now what's the status of the patch.

Thanks!

Thomas

Patch

diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 618251e..b99733a 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -96,9 +96,15 @@  else
 QT5BASE_CONFIGURE_OPTS += -no-xcb
 endif
 
-ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
-QT5BASE_CONFIGURE_OPTS += -opengl es2 -eglfs
+ifeq ($(BR2_PACKAGE_HAS_OPENGL_EGL)$(BR2_PACKAGE_HAS_OPENGL_ES),yy)
+QT5BASE_CONFIGURE_OPTS += -opengl es2
 QT5BASE_DEPENDENCIES   += libgles libegl
+else
+QT5BASE_CONFIGURE_OPTS += -no-opengl
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
+QT5BASE_CONFIGURE_OPTS += -eglfs
 ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y)
 QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \
 	$(@D)/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp
@@ -108,7 +114,7 @@  QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \
 	$(@D)/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
 endif
 else
-QT5BASE_CONFIGURE_OPTS += -no-opengl -no-eglfs
+QT5BASE_CONFIGURE_OPTS += -no-eglfs
 endif
 
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl)
diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in
index c5753b1..7f25999 100644
--- a/package/qt5/qt5declarative/Config.in
+++ b/package/qt5/qt5declarative/Config.in
@@ -3,7 +3,6 @@  config BR2_PACKAGE_QT5DECLARATIVE
 	select BR2_PACKAGE_QT5XMLPATTERNS
 	select BR2_PACKAGE_QT5BASE
 	select BR2_PACKAGE_QT5BASE_GUI
-	select BR2_PACKAGE_QT5BASE_EGLFS
 	depends on BR2_PACKAGE_HAS_OPENGL_EGL
 	depends on BR2_PACKAGE_HAS_OPENGL_ES
 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE