Sunxi fixes, improve Mesa3d Support, and add glmark2 benchmark application.
cover Sunxi fixes, improve Mesa3d Support, and add glmark2 benchmark application.
This patch series improves Mesa support and adds the glmark2 benchmark.
Spenser Gilliland (6):
libdrm: bump and add experimental ARM framebuffer support
sunxi-mali: bug fixes for pc and init script
sunxi-cedarx: bump to newer version, use armel2 binaries, add demo
mesa3d: reorganize, modularize, and bump to version 9.1.6
libpng12: new package
glmark2: new package
package/Config.in | 3 + package/glmark2/Config.in | 49 ++++++ package/glmark2/glmark2-add-mali-support.patch | 102 ++++++++++++ package/glmark2/glmark2-fix-add-GLchar.patch | 17 ++ .../glmark2-gl-to-glesv2-on-drm-flavor.patch | 25 +++ package/glmark2/glmark2.mk | 70 +++++++++ package/libdrm/Config.in | 14 +- package/libdrm/libdrm.mk | 24 ++- package/libpng12/Config.in | 8 + package/libpng12/libpng12.mk | 18 +++ package/mesa3d/Config.in | 172 +++++++++++++++++++++ package/mesa3d/mesa3d-cross-glsl-compiler.patch | 41 +++++ package/mesa3d/mesa3d-gbm-without-dri.patch | 30 ++++ package/mesa3d/mesa3d.mk | 149 ++++++++++++++++++ package/opengl/Config.in | 3 + package/opengl/libegl/libegl.mk | 4 + package/opengl/libgl/libgl.mk | 20 +++ package/opengl/libgles/libgles.mk | 4 + package/opengl/libopenvg/libopenvg.mk | 4 + package/sunxi-cedarx/Config.in | 10 ++ package/sunxi-cedarx/sunxi-cedarx.mk | 26 +++- package/sunxi-mali/S80mali | 2 +- package/sunxi-mali/glesv2.pc | 2 +- package/x11r7/Config.in | 1 - package/x11r7/mesa3d/Config.in | 15 -- package/x11r7/mesa3d/mesa3d-uclibc-locale.patch | 56 ------- package/x11r7/mesa3d/mesa3d.mk | 40 ----- .../xserver_xorg-server/xserver_xorg-server.mk | 4 +- 28 files changed, 767 insertions(+), 146 deletions(-) create mode 100644 package/glmark2/Config.in create mode 100644 package/glmark2/glmark2-add-mali-support.patch create mode 100644 package/glmark2/glmark2-fix-add-GLchar.patch create mode 100644 package/glmark2/glmark2-gl-to-glesv2-on-drm-flavor.patch create mode 100644 package/glmark2/glmark2.mk create mode 100644 package/libpng12/Config.in create mode 100644 package/libpng12/libpng12.mk create mode 100644 package/mesa3d/Config.in create mode 100644 package/mesa3d/mesa3d-cross-glsl-compiler.patch create mode 100644 package/mesa3d/mesa3d-gbm-without-dri.patch create mode 100644 package/mesa3d/mesa3d.mk create mode 100644 package/opengl/libgl/libgl.mk delete mode 100644 package/x11r7/mesa3d/Config.in delete mode 100644 package/x11r7/mesa3d/mesa3d-uclibc-locale.patch delete mode 100644 package/x11r7/mesa3d/mesa3d.mk
Signature · 1 line
1.8.1.2
PATCH 1/6 libdrm: bump and add experimental ARM framebuffer support
The newer versions of libdrm have substantially fewer dependencies as drm is moving to be a subsystem for both wayland and Xorg.
--- package/libdrm/Config.in | 14 +++----------- package/libdrm/libdrm.mk | 24 +++++++++--------------- 2 files changed, 12 insertions(+), 26 deletions(-)
package/libdrm/Config.in +3 -11
@@ -1,18 +1,10 @@ config BR2_PACKAGE_LIBDRM bool "libdrm" + select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS + select BR2_PACKAGE_LIBATOMIC_OPS + select BR2_PACKAGE_XLIB_LIBPCIACCESS if BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_XORG7 depends on BR2_LARGEFILE - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO - select BR2_PACKAGE_XLIB_LIBXXF86VM - select BR2_PACKAGE_XLIB_LIBXMU - select BR2_PACKAGE_XLIB_LIBPCIACCESS - select BR2_PACKAGE_XPROTO_DRI2PROTO - select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS - # libatomic_ops is only available on a subset of the supported - # architectures, and we make the assumption that the intel - # driver can only be used on x86 and x86_64 machines. - select BR2_PACKAGE_LIBATOMIC_OPS if (BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL && (BR2_i386 || BR2_x86_64)) help Direct Rendering Manager
package/libdrm/libdrm.mk +9 -15
@@ -4,7 +4,7 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.38 +LIBDRM_VERSION = 2.4.46 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 LIBDRM_SITE = http://dri.freedesktop.org/libdrm/ LIBDRM_LICENSE = MIT
@@ -12,24 +12,18 @@ LIBDRM_LICENSE = MIT LIBDRM_INSTALL_STAGING = YES LIBDRM_DEPENDENCIES = \ - xproto_glproto \ - xproto_xf86vidmodeproto \ - xlib_libXxf86vm \ - xlib_libXmu \ - xlib_libpciaccess \ - xproto_dri2proto \ xlib_libpthread-stubs \ host-pkgconf -ifeq ($(BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL),y) -LIBDRM_CONF_OPT += --enable-intel -LIBDRM_DEPENDENCIES += libatomic_ops -else -LIBDRM_CONF_OPT += --disable-intel -endif +LIBDRM_CONF_OPT = \ + --disable-cairo-tests \ + --disable-manpages -ifneq ($(BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI),y) -LIBDRM_CONF_OPT += --disable-radeon +ifeq ($(BR2_arm),y) +LIBDRM_CONF_OPT += \ + --enable-omap-experimental-api \ + --enable-exynos-experimental-api \ + --enable-freedreno-experimental-api endif ifeq ($(BR2_PACKAGE_UDEV),y)
Signature · 1 line
1.8.1.2
PATCH 1/6 libdrm: bump and add experimental ARM framebuffer support
Quoted 2 lines · Spenser Gilliland
The newer versions of libdrm have substantially fewer dependencies as drm is moving to be a subsystem for both wayland and Xorg.
I guess the remaining XLIB dependencies should then also move out of
the Xorg condition, so that libdrm can move out of it as well...
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 1/6 libdrm: bump and add experimental ARM framebuffer support
In reply to Spenser GillilandDear Spenser Gilliland,
Quoted 14 lines · Spenser Gilliland
The newer versions of libdrm have substantially fewer dependencies as drm is moving to be a subsystem for both wayland and Xorg.
Signed-off-by Spenser Gilliland <[email protected]>--- package/libdrm/Config.in | 14 +++----------- package/libdrm/libdrm.mk | 24 +++++++++--------------- 2 files changed, 12 insertions(+), 26 deletions(-)package/libdrm/Config.in +0
-0
package/libdrm/Config.in line 4
Quoted 4 lines
package/libdrm/Config.in +2
-0@@ -1,18 +1,10 @@ config BR2_PACKAGE_LIBDRM bool "libdrm" + select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS + select BR2_PACKAGE_LIBATOMIC_OPS
libatomic_ops is not available on all architectures. In the prevous libdrm code, it was only selected on i386 and x86-64, so it was ok, but if libatomic_ops is now needed in all cases for libdrm, then you need to propagate the libatomic_ops dependencies into libdrm, i.e:
depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64
package/libdrm/Config.in line 6
Quoted 2 lines
package/libdrm/Config.in +1
-0+ select BR2_PACKAGE_XLIB_LIBPCIACCESS if BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_XORG7
If libdrm is needed by Wayland, then it sounds strange to require enabling BR2_PACKAGE_XORG7. When I did the Wayland packaging, there are a few X.org packages that I moved out of the BR2_PACKAGE_XORG7 condition, maybe we should do the same for libpciaccess and libpthread-stubs. But ok, this is probably something we can tackle at a later point, I don't want to require you to solve all problems right now :)
Quoted 43 lines
package/libdrm/Config.in +0
-11depends on BR2_LARGEFILE - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO - select BR2_PACKAGE_XLIB_LIBXXF86VM - select BR2_PACKAGE_XLIB_LIBXMU - select BR2_PACKAGE_XLIB_LIBPCIACCESS - select BR2_PACKAGE_XPROTO_DRI2PROTO - select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS - # libatomic_ops is only available on a subset of the supported - # architectures, and we make the assumption that the intel - # driver can only be used on x86 and x86_64 machines. - select BR2_PACKAGE_LIBATOMIC_OPS if (BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL && (BR2_i386 || BR2_x86_64)) help Direct Rendering Managerpackage/libdrm/libdrm.mk +1
-9@@ -4,7 +4,7 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.38 +LIBDRM_VERSION = 2.4.46 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 LIBDRM_SITE = http://dri.freedesktop.org/libdrm/ LIBDRM_LICENSE = MIT@@ -12,24 +12,18 @@ LIBDRM_LICENSE = MIT LIBDRM_INSTALL_STAGING = YES LIBDRM_DEPENDENCIES = \ - xproto_glproto \ - xproto_xf86vidmodeproto \ - xlib_libXxf86vm \ - xlib_libXmu \ - xlib_libpciaccess \ - xproto_dri2proto \ xlib_libpthread-stubs \ host-pkgconf -ifeq ($(BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL),y) -LIBDRM_CONF_OPT += --enable-intel
package/libdrm/libdrm.mk LIBDRM_LICENSE = MIT · line 32
Quoted 10 lines
package/libdrm/libdrm.mk +3
-6-LIBDRM_DEPENDENCIES += libatomic_ops -else -LIBDRM_CONF_OPT += --disable-intel -endif +LIBDRM_CONF_OPT = \ + --disable-cairo-tests \ + --disable-manpages -ifneq ($(BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI),y) -LIBDRM_CONF_OPT += --disable-radeon
So those --enable-intel / --disable-radeon things are no longer needed?
package/libdrm/libdrm.mk LIBDRM_LICENSE = MIT · line 27
Quoted 6 lines
package/libdrm/libdrm.mk +5
-0+ifeq ($(BR2_arm),y) +LIBDRM_CONF_OPT += \ + --enable-omap-experimental-api \ + --enable-exynos-experimental-api \ + --enable-freedreno-experimental-api endif
It seems strange to me to enable those options as soon as we're on ARM. I think we probably need Config.in sub-options for these.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/6 libdrm: bump and add experimental ARM framebuffer support
Thomas,
Quoted 27 lines · Thomas Petazzoni
Dear Spenser Gilliland,
Quoted 14 lines · Spenser Gilliland
The newer versions of libdrm have substantially fewer dependencies as drm is moving to be a subsystem for both wayland and Xorg.
Signed-off-by Spenser Gilliland <[email protected]>--- package/libdrm/Config.in | 14 +++----------- package/libdrm/libdrm.mk | 24 +++++++++--------------- 2 files changed, 12 insertions(+), 26 deletions(-)package/libdrm/Config.in +0
-0package/libdrm/Config.in line 4
Quoted 4 lines
package/libdrm/Config.in +2
-0@@ -1,18 +1,10 @@ config BR2_PACKAGE_LIBDRM bool "libdrm" + select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS + select BR2_PACKAGE_LIBATOMIC_OPS
libatomic_opsis not available on all architectures. In the prevous libdrm code, it was only selected on i386 and x86-64, so it was ok, but iflibatomic_opsis now needed in all cases for libdrm, then you need to propagate thelibatomic_opsdependencies into libdrm, i.e:
Quoted 1 line
depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64
It is only needed for x86/x86_64, so we can select the option only when BR2_i386 or BR2_x86_64.
Quoted 10 lines
package/libdrm/Config.in line 6
Quoted 2 lines
package/libdrm/Config.in +1
-0+ select BR2_PACKAGE_XLIB_LIBPCIACCESS if BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_XORG7If libdrm is needed by Wayland, then it sounds strange to require enabling
BR2_PACKAGE_XORG7. When I did the Wayland packaging, there are a few X.org packages that I moved out of theBR2_PACKAGE_XORG7condition, maybe we should do the same for libpciaccess and libpthread-stubs. But ok, this is probably something we can tackle at a later point, I don't want to require you to solve all problems right now :)
I agree these packages should probably be moved out of xorg, but the BR2_PACKAGE_XORG7 doesn't really do much other than allow access to the libraries.
Quoted 52 lines
Quoted 52 lines
package/libdrm/Config.in +0
-11depends on BR2_LARGEFILE - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO - select BR2_PACKAGE_XLIB_LIBXXF86VM - select BR2_PACKAGE_XLIB_LIBXMU - select BR2_PACKAGE_XLIB_LIBPCIACCESS - select BR2_PACKAGE_XPROTO_DRI2PROTO - select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS - # libatomic_ops is only available on a subset of the supported - # architectures, and we make the assumption that the intel - # driver can only be used on x86 and x86_64 machines. - select BR2_PACKAGE_LIBATOMIC_OPS if (BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL && (BR2_i386 || BR2_x86_64)) help Direct Rendering Managerpackage/libdrm/libdrm.mk +4
-13@@ -4,7 +4,7 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.38 +LIBDRM_VERSION = 2.4.46 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 LIBDRM_SITE = http://dri.freedesktop.org/libdrm/ LIBDRM_LICENSE = MIT@@ -12,24 +12,18 @@ LIBDRM_LICENSE = MIT LIBDRM_INSTALL_STAGING = YES LIBDRM_DEPENDENCIES = \ - xproto_glproto \ - xproto_xf86vidmodeproto \ - xlib_libXxf86vm \ - xlib_libXmu \ - xlib_libpciaccess \ - xproto_dri2proto \ xlib_libpthread-stubs \ host-pkgconf -ifeq ($(BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL),y) -LIBDRM_CONF_OPT += --enable-intel -LIBDRM_DEPENDENCIES += libatomic_ops -else -LIBDRM_CONF_OPT += --disable-intel -endif +LIBDRM_CONF_OPT = \ + --disable-cairo-tests \ + --disable-manpages
Quoted 4 lines
package/libdrm/libdrm.mk LIBDRM_LICENSE = MIT · line 32
Quoted 2 lines
package/libdrm/libdrm.mk +0
-2-ifneq ($(BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI),y) -LIBDRM_CONF_OPT += --disable-radeonSo those --enable-intel / --disable-radeon things are no longer needed?
I'll do some more testing to make sure but I don't believe so.
Quoted 9 lines
package/libdrm/libdrm.mk LIBDRM_LICENSE = MIT · line 27
Quoted 6 lines
package/libdrm/libdrm.mk +5
-0+ifeq ($(BR2_arm),y) +LIBDRM_CONF_OPT += \ + --enable-omap-experimental-api \ + --enable-exynos-experimental-api \ + --enable-freedreno-experimental-api endifIt seems strange to me to enable those options as soon as we're on ARM. I think we probably need Config.in sub-options for these.
I'll add config options for each driver. I initially tried to avoid this, but more and more I think it's a better solution.
Quoted 6 lines
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
Thanks,
Spenser
Signature · 3 lines
Spenser Gilliland Computer Engineer Doctoral Candidate
PATCH 1/6 libdrm: bump and add experimental ARM framebuffer support
Dear Spenser Gilliland,
Quoted 9 lines · Spenser Gilliland
Quoted 6 lines
libatomic_opsis not available on all architectures. In the prevous libdrm code, it was only selected on i386 and x86-64, so it was ok, but iflibatomic_opsis now needed in all cases for libdrm, then you need to propagate thelibatomic_opsdependencies into libdrm, i.e:depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64It is only needed for x86/x86_64, so we can select the option only when
BR2_i386orBR2_x86_64.
Fine.
Quoted 11 lines
Quoted 10 lines
Quoted 2 lines
+ select
BR2_PACKAGE_XLIB_LIBPCIACCESSifBR2_i386||BR2_x86_64
depends onBR2_PACKAGE_XORG7If libdrm is needed by Wayland, then it sounds strange to require enabling
BR2_PACKAGE_XORG7. When I did the Wayland packaging, there are a few X.org packages that I moved out of theBR2_PACKAGE_XORG7condition, maybe we should do the same for libpciaccess and libpthread-stubs. But ok, this is probably something we can tackle at a later point, I don't want to require you to solve all problems right now :)
Quoted 3 lines
I agree these packages should probably be moved out of xorg, but the
BR2_PACKAGE_XORG7doesn't really do much other than allow access to the libraries.
That's true, but it means that the user needs to know that the global BR2_PACKAGE_XORG7 option has to be enabled if he wants to build something completely unrelated (say Wayland).
But ok, as I said, let's do this later on.
Quoted 6 lines
Quoted 4 lines
package/libdrm/libdrm.mk LIBDRM_LICENSE = MIT · line 32
Quoted 2 lines
package/libdrm/libdrm.mk +0
-2-ifneq ($(BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI),y) -LIBDRM_CONF_OPT += --disable-radeonSo those --enable-intel / --disable-radeon things are no longer needed?
I'll do some more testing to make sure but I don't believe so.
Ok.
Quoted 10 lines
Quoted 9 lines
package/libdrm/libdrm.mk LIBDRM_LICENSE = MIT · line 27
Quoted 6 lines
package/libdrm/libdrm.mk +5
-0+ifeq ($(BR2_arm),y) +LIBDRM_CONF_OPT += \ + --enable-omap-experimental-api \ + --enable-exynos-experimental-api \ + --enable-freedreno-experimental-api endifIt seems strange to me to enable those options as soon as we're on ARM. I think we probably need Config.in sub-options for these.
Quoted 2 lines
I'll add config options for each driver. I initially tried to avoid this, but more and more I think it's a better solution.
Excellent, thanks.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 2/6 sunxi-mali: bug fixes for pc and init script
In reply to Spenser Gillilandfix bad escape sequences in init script and add correct lib for pc file.
--- package/sunxi-mali/S80mali | 2 +- package/sunxi-mali/glesv2.pc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/sunxi-mali/S80mali +1 -1
@@ -5,7 +5,7 @@ install_driver() { OPTS=$2 modprobe $DRIVER $OPTS - maj=$(awk "$$2==\"${DRIVER}\" { print $$1; }" /proc/devices) + maj=$(awk "\$2==\"${DRIVER}\" { print \$1; }" /proc/devices) rm -f /dev/${DRIVER}
package/sunxi-mali/glesv2.pc +1 -1
@@ -7,6 +7,6 @@ Name: glesv2 Description: ARM Mali implementation of OpenGL ESv2 Version: 2.0 Requires: -Libs: -L${libdir} -lGLESv2 -lGLES_CM -lUMP +Libs: -L${libdir} -lGLESv2 -lGLESv1_CM -lUMP Cflags: -I${includedir}/GLES2
Signature · 1 line
1.8.1.2
PATCH 2/6 sunxi-mali: bug fixes for pc and init script
Dear Spenser Gilliland,
Quoted 26 lines · Spenser Gilliland
fix bad escape sequences in init script and add correct lib for pc file.
Signed-off-by Spenser Gilliland <[email protected]>--- package/sunxi-mali/S80mali | 2 +- package/sunxi-mali/glesv2.pc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)package/sunxi-mali/S80mali +1
-1@@ -5,7 +5,7 @@ install_driver() { OPTS=$2 modprobe $DRIVER $OPTS - maj=$(awk "$$2==\"${DRIVER}\" { print $$1; }" /proc/devices) + maj=$(awk "\$2==\"${DRIVER}\" { print \$1; }" /proc/devices) rm -f /dev/${DRIVER}package/sunxi-mali/glesv2.pc +0
-0
package/sunxi-mali/glesv2.pc Name: glesv2 · line 12
Quoted 7 lines
package/sunxi-mali/glesv2.pc +1
-1@@ -7,6 +7,6 @@ Name: glesv2 Description: ARM Mali implementation of OpenGL ESv2 Version: 2.0 Requires: -Libs: -L${libdir} -lGLESv2 -lGLES_CM -lUMP +Libs: -L${libdir} -lGLESv2 -lGLESv1_CM -lUMP Cflags: -I${includedir}/GLES2
I haven't tested this, but it looks ok.
Peter: I believe we can apply this one for 2013.08.
Thanks,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 2/6 sunxi-mali: bug fixes for pc and init script
In reply to Spenser GillilandQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Spenser" == Spenser Gilliland <[email protected]> writes:
Spenser> fix bad escape sequences in init script and add correct lib Spenser> for pc file.
Spenser> Signed-off-by: Spenser Gilliland <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 3/6 sunxi-cedarx: bump to newer version, use armel2 binaries, add demo
In reply to Spenser Gilliland--- package/sunxi-cedarx/Config.in | 10 ++++++++++ package/sunxi-cedarx/sunxi-cedarx.mk | 26 ++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 4 deletions(-)
package/sunxi-cedarx/Config.in +10 -0
@@ -10,5 +10,15 @@ config BR2_PACKAGE_SUNXI_CEDARX http://github.com/linux-sunxi/cedarx-libs http://linux-sunxi.org/CedarX +if BR2_PACKAGE_SUNXI_CEDARX + +config BR2_PACKAGE_SUNXI_CEDARX_DEMO + bool "install enc_dec_test demo" + help + Install a test program which verifies the functionality of the CedarX + libraries + +endif + comment "sunxi-cedarx requires an eglibc/glibc based toolchain" depends on !BR2_TOOLCHAIN_USES_GLIBC && BR2_arm
package/sunxi-cedarx/sunxi-cedarx.mk +22 -4
@@ -4,7 +4,7 @@ # ################################################################################ -SUNXI_CEDARX_VERSION = 74923e55fc +SUNXI_CEDARX_VERSION = 74c3e9052 SUNXI_CEDARX_SITE = http://github.com/linux-sunxi/cedarx-libs/tarball/$(SUNXI_CEDARX_VERSION) SUNXI_CEDARX_INSTALL_STAGING = YES
@@ -14,7 +14,12 @@ SUNXI_CEDARX_CONFIGURE_OPTS = \ ifeq ($(BR2_ARM_EABIHF),y) SUNXI_CEDARX_BIN_DIR = $(@D)/libcedarv/linux-armhf -# libavheap.so is only available on EABIHF +SUNXI_CEDARX_SAMPLE_LOC = $(SUNXI_CEDARX_BIN_DIR)/sample/ve +else +SUNXI_CEDARX_BIN_DIR = $(@D)/libcedarv/linux-armel2 +SUNXI_CEDARX_SAMPLE_LOC = $(SUNXI_CEDARX_BIN_DIR)/sample/output/ve +endif + define SUNXI_CEDARX_BUILD_AVHEAP $(TARGET_CC) $(TARGET_CFLAGS) \ -c $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.c \
@@ -25,18 +30,30 @@ define SUNXI_CEDARX_BUILD_AVHEAP -o $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/libavheap.so \ $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.o endef + define SUNXI_CEDARX_INSTALL_AVHEAP $(INSTALL) -D -m 755 $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/libavheap.so \ $(1)/usr/lib/libavheap.so endef -else -SUNXI_CEDARX_BIN_DIR = $(@D)/libcedarv/linux-armel + +ifeq ($(BR2_PACKAGE_SUNXI_CEDARX_DEMO),y) + +define SUNXI_CEDARX_BUILD_DEMO + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(SUNXI_CEDARX_BIN_DIR)/sample +endef + +define SUNXI_CEDARX_INSTALL_DEMO + $(INSTALL) -D -m 755 $(SUNXI_CEDARX_SAMPLE_LOC) \ + $(TARGET_DIR)/usr/bin/ve +endef + endif define SUNXI_CEDARX_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(SUNXI_CEDARX_BIN_DIR) \ $(SUNXI_CEDARX_CONFIGURE_OPTS) $(SUNXI_CEDARX_BUILD_AVHEAP) + $(SUNXI_CEDARX_BUILD_DEMO) endef define SUNXI_CEDARX_INSTALL_STAGING_CMDS
@@ -54,6 +71,7 @@ define SUNXI_CEDARX_INSTALL_TARGET_CMDS $(INSTALL) -D -m 755 $(SUNXI_CEDARX_BIN_DIR)/libvecore/libvecore.so \ $(TARGET_DIR)/usr/lib/libvecore.so $(call SUNXI_CEDARX_INSTALL_AVHEAP, $(TARGET_DIR)) + $(SUNXI_CEDARX_INSTALL_DEMO) endef $(eval $(generic-package))
Signature · 1 line
1.8.1.2
PATCH 4/6 mesa3d: reorganize, modularize, and bump to version 9.1.6
In reply to Spenser Gillilandmove mesa3d out of xorg as it is not really an Xorg component.
--- package/Config.in | 1 + package/mesa3d/Config.in | 172 +++++++++++++++++++++ package/mesa3d/mesa3d-cross-glsl-compiler.patch | 41 +++++ package/mesa3d/mesa3d-gbm-without-dri.patch | 30 ++++ package/mesa3d/mesa3d.mk | 149 ++++++++++++++++++ package/opengl/Config.in | 3 + package/opengl/libegl/libegl.mk | 4 + package/opengl/libgl/libgl.mk | 20 +++ package/opengl/libgles/libgles.mk | 4 + package/opengl/libopenvg/libopenvg.mk | 4 + package/x11r7/Config.in | 1 - package/x11r7/mesa3d/Config.in | 15 -- package/x11r7/mesa3d/mesa3d-uclibc-locale.patch | 56 ------- package/x11r7/mesa3d/mesa3d.mk | 40 ----- .../xserver_xorg-server/xserver_xorg-server.mk | 4 +- 15 files changed, 430 insertions(+), 114 deletions(-) create mode 100644 package/mesa3d/Config.in create mode 100644 package/mesa3d/mesa3d-cross-glsl-compiler.patch create mode 100644 package/mesa3d/mesa3d-gbm-without-dri.patch create mode 100644 package/mesa3d/mesa3d.mk create mode 100644 package/opengl/libgl/libgl.mk delete mode 100644 package/x11r7/mesa3d/Config.in delete mode 100644 package/x11r7/mesa3d/mesa3d-uclibc-locale.patch delete mode 100644 package/x11r7/mesa3d/mesa3d.mk
package/Config.in +1 -0
@@ -273,6 +273,7 @@ source "package/lvm2/Config.in" source "package/mdadm/Config.in" source "package/media-ctl/Config.in" source "package/memtester/Config.in" +source "package/mesa3d/Config.in" source "package/minicom/Config.in" source "package/nanocom/Config.in" source "package/neard/Config.in"
package/mesa3d/Config.in new file +172 -0
172 lines not on this page · raw message
package/mesa3d/mesa3d-cross-glsl-compiler.patch new file +41 -0
41 lines not on this page · raw message
package/mesa3d/mesa3d-gbm-without-dri.patch new file +30 -0
@@ -0,0 +1,30 @@ +Fix build issue when gbm backend is built without dri support. + +Signed-off-by: Spenser Gilliland <[email protected]> + +--- +Index: mesa3d-9.1.6/src/gbm/main/backend.c +=================================================================== +--- mesa3d-9.1.6.orig/src/gbm/main/backend.c 2012-11-24 11:57:41.000000000 -0600 ++++ mesa3d-9.1.6/src/gbm/main/backend.c 2013-08-16 10:59:58.844753588 -0500 +@@ -36,7 +36,9 @@ + + #define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0])) + ++#ifdef HAVE_DRI + extern const struct gbm_backend gbm_dri_backend; ++#endif + + struct backend_desc { + const char *name; +@@ -44,7 +46,9 @@ + }; + + static const struct backend_desc backends[] = { +- { "gbm_dri.so", &gbm_dri_backend }, ++#ifdef HAVE_DRI ++ { "gbm_dri.so", &gbm_dri_backend }, ++#endif + { "gbm_gallium_drm.so", NULL }, + }; +
package/mesa3d/mesa3d.mk new file +149 -0
149 lines not on this page · raw message
package/opengl/Config.in +3 -0
@@ -1,3 +1,6 @@ +config BR2_PACKAGE_HAS_OPENGL + bool + config BR2_PACKAGE_HAS_OPENGL_EGL bool
package/opengl/libegl/libegl.mk +4 -0
@@ -22,6 +22,10 @@ ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y) LIBEGL_DEPENDENCIES += gpu-viv-bin-mx6q endif +ifeq ($(BR2_PACKAGE_MESA3D_EGL),y) +LIBEGL_DEPENDENCIES += mesa3d +endif + ifeq ($(LIBEGL_DEPENDENCIES),) define LIBEGL_CONFIGURE_CMDS echo "No libEGL implementation selected. Configuration error."
package/opengl/libgl/libgl.mk new file +20 -0
@@ -0,0 +1,20 @@ +################################################################################ +# +# libgl +# +################################################################################ + +LIBGL_SOURCE = + +ifeq ($(BR2_PACKAGE_MESA_OPENGL),y) +LIBGL_DEPENDENCIES += mesa3d +endif + +ifeq ($(LIBGL_DEPENDENCIES),) +define LIBOPENGL_CONFIGURE_CMDS + echo "No libOpenGL implementation selected. Configuration error." + exit 1 +endef +endif + +$(eval $(generic-package))
package/opengl/libgles/libgles.mk +4 -0
@@ -22,6 +22,10 @@ ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y) LIBGLES_DEPENDENCIES += gpu-viv-bin-mx6q endif +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y) +LIBGLES_DEPENDENCIES += mesa3d +endif + ifeq ($(LIBGLES_DEPENDENCIES),) define LIBGLES_CONFIGURE_CMDS echo "No libGLES implementation selected. Configuration error."
package/opengl/libopenvg/libopenvg.mk +4 -0
@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) LIBOPENVG_DEPENDENCIES += rpi-userland endif +ifeq ($(BR2_PACKAGE_MESA3D_OPENVG),y) +LIBOPENVG_DEPENDENCIES += mesa3d +endif + ifeq ($(LIBOPENVG_DEPENDENCIES),) define LIBOPENVG_CONFIGURE_CMDS echo "No libOpenVG implementation selected. Configuration error."
package/x11r7/Config.in +0 -1
@@ -13,7 +13,6 @@ if BR2_PACKAGE_XORG7 endmenu menu "X11R7 Libraries" source package/x11r7/libxcb/Config.in - source package/x11r7/mesa3d/Config.in source package/x11r7/xcb-util/Config.in source package/x11r7/xcb-util-image/Config.in source package/x11r7/xcb-util-keysyms/Config.in
package/x11r7/mesa3d/Config.in deleted +0 -15
@@ -1,15 +0,0 @@ -config BR2_PACKAGE_MESA3D - bool "Mesa 3D Graphics Library" - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XLIB_LIBXXF86VM - select BR2_PACKAGE_XLIB_LIBXDAMAGE - select BR2_PACKAGE_XLIB_LIBXFIXES - select BR2_PACKAGE_XPROTO_DRI2PROTO - select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_HOST_LIBXML2_PYTHON - depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR - depends on BR2_INSTALL_LIBSTDCPP - help - Mesa 3D, an open-source implementation of the OpenGL specification. -
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0 -56
56 lines not on this page · raw message
package/x11r7/mesa3d/mesa3d.mk deleted +0 -40
@@ -1,40 +0,0 @@ -################################################################################ -# -# mesa3d -# -################################################################################ - -MESA3D_VERSION = 7.10.3 -MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz -MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) -MESA3D_LICENSE = MIT, SGI, Khronos -MESA3D_LICENSE_FILES = docs/license.html - -MESA3D_AUTORECONF = YES -MESA3D_INSTALL_STAGING = YES - -MESA3D_CONF_OPT = \ - --disable-egl \ - --disable-glu \ - --disable-glw \ - --disable-glut \ - --disable-gallium \ - --with-driver=dri \ - --with-dri-drivers=swrast \ - --disable-static - -MESA3D_DEPENDENCIES = \ - xproto_glproto \ - xlib_libXxf86vm \ - xlib_libXdamage \ - xlib_libXfixes \ - xproto_dri2proto \ - libdrm \ - expat \ - host-xutil_makedepend \ - host-libxml2 \ - host-python \ - host-bison \ - host-flex - -$(eval $(autotools-package))
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +2 -2
@@ -99,7 +99,7 @@ else # modular XSERVER_XORG_SERVER_CONF_OPT += --disable-kdrive --disable-xfbdev endif -ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_MESA3D_DRIVER),y) XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto else XSERVER_XORG_SERVER_CONF_OPT += --disable-dri
@@ -172,7 +172,7 @@ ifneq ($(BR2_PACKAGE_XLIB_LIBDMX),y) XSERVER_XORG_SERVER_CONF_OPT += --disable-dmx endif -ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_MESA3D_DRIVER),y) XSERVER_XORG_SERVER_CONF_OPT += --enable-glx else XSERVER_XORG_SERVER_CONF_OPT += --disable-glx
Signature · 1 line
1.8.1.2
PATCH 4/6 mesa3d: reorganize, modularize, and bump to version 9.1.6
Op 24-aug.-2013 21:48 schreef "Spenser Gilliland" <[email protected]> het volgende:
Quoted 8 lines
move mesa3d out of xorg as it is not really an Xorg component.
Signed-off-by Spenser Gilliland <[email protected]>--- package/Config.in | 1 + package/mesa3d/Config.in | 172
+++++++++++++++++++++
Quoted 3 lines
package/mesa3d/mesa3d-cross-glsl-compiler.patch | 41 +++++ package/mesa3d/mesa3d-gbm-without-dri.patch | 30 ++++ package/mesa3d/mesa3d.mk | 149
++++++++++++++++++
Quoted 38 lines
package/opengl/Config.in | 3 + package/opengl/libegl/libegl.mk | 4 + package/opengl/libgl/libgl.mk | 20 +++ package/opengl/libgles/libgles.mk | 4 + package/opengl/libopenvg/libopenvg.mk | 4 + package/x11r7/Config.in | 1 - package/x11r7/mesa3d/Config.in | 15 -- package/x11r7/mesa3d/mesa3d-uclibc-locale.patch | 56 ------- package/x11r7/mesa3d/mesa3d.mk | 40 ----- .../xserver_xorg-server/xserver_xorg-server.mk | 4 +- 15 files changed, 430 insertions(+), 114 deletions(-) create mode 100644 package/mesa3d/Config.in create mode 100644 package/mesa3d/mesa3d-cross-glsl-compiler.patch create mode 100644 package/mesa3d/mesa3d-gbm-without-dri.patch create mode 100644 package/mesa3d/mesa3d.mk create mode 100644 package/opengl/libgl/libgl.mk delete mode 100644 package/x11r7/mesa3d/Config.in delete mode 100644 package/x11r7/mesa3d/mesa3d-uclibc-locale.patch delete mode 100644 package/x11r7/mesa3d/mesa3d.mkpackage/Config.in +1
-0@@ -273,6 +273,7 @@ source "package/lvm2/Config.in" source "package/mdadm/Config.in" source "package/media-ctl/Config.in" source "package/memtester/Config.in" +source "package/mesa3d/Config.in" source "package/minicom/Config.in" source "package/nanocom/Config.in" source "package/neard/Config.in"package/mesa3d/Config.in new file +0
-0
package/mesa3d/Config.in line 6
Quoted 6 lines
package/mesa3d/Config.in new file +6
-0@@ -0,0 +1,172 @@ +config BR2_PACKAGE_MESA3D + bool "Mesa 3D Graphics Library" + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_HOST_LIBXML2_PYTHON + select BR2_PACKAGE_XPROTO_DRI2_PROTO if
BR2_PACKAGE_XSERVER_XORG_SERVER
package/mesa3d/Config.in line 7
Quoted 1 line
package/mesa3d/Config.in new file +1
-0+ select BR2_PACKAGE_XPROTO_XF86DRIPROTO if
BR2_PACKAGE_XSERVER_XORG_SERVER
package/mesa3d/Config.in
Quoted 3 lines
package/mesa3d/Config.in new file +3
-0+ select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XLIB_LIBXDAMAGE if
BR2_PACKAGE_XSERVER_XORG_SERVER
package/mesa3d/Config.in line 11
Quoted 1 line
package/mesa3d/Config.in new file +1
-0+ select BR2_PACKAGE_XLIB_LIBXFIXES if
BR2_PACKAGE_XSERVER_XORG_SERVER
package/mesa3d/Config.in
Quoted 6 lines
package/mesa3d/Config.in new file +6
-0+ select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XSERVER_XORG_SERVER + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_LARGEFILE + depends on BR2_PACKAGE_XORG7 # libdrm + help + Mesa 3D, an open-source implementation of the OpenGL
specification.
Quoted 23 lines
package/mesa3d/Config.in new file +23
-0+ + http://mesa3d.org + +if BR2_PACKAGE_MESA3D + +menu "libraries" + +config BR2_PACKAGE_MESA3D_GBM + depends on BR2_PACKAGE_UDEV + bool "gbm support" + help + Add support for Graphics Buffer Manager. + +config BR2_PACKAGE_MESA3D_XVMC + bool "xvmc support" + help + Add support for X Video Motion Compensation. + +config BR2_PACKAGE_MESA3D_VDPAU + bool "vdpau support" + help + Add support for Video Decode and Presentation API for Unix. +
package/mesa3d/Config.in
Quoted 10 lines
package/mesa3d/Config.in new file +10
-0+endmenu + +menu "Drivers" + +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915 + bool "Gallium i915 driver" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + help + Supports intel chips with Gallium. In most cases, the DRI i965
driver
package/mesa3d/Config.in line 51
Quoted 1 line
package/mesa3d/Config.in new file +1
-0+ should be used as it is better maintined by Intel.
Maintained
Quoted 37 lines
package/mesa3d/Config.in new file +37
-0+ +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU + bool "Gallium nouveau driver" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + help + Supports all Nvidia GPUs. + +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300 + bool "Gallium r300 driver" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + help + Supports the R300, R400, and R500 series of ATI/AMD GPUs. + +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 + bool "Gallium r600 driver" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + help + Supports the R600, R700, and R800 series of ATI/AMD GPUs. + +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI + bool "Gallium radeonsi driver" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + help + Supports the Radeon HD7000/HD8000/HD9000 series of ATI/AMD GPUs. + +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA + bool "Gallium vmware svga driver" + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + help + This is a virtual GPU driver for VMWare virtual machines. + +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST + bool "Gallium swrast driver"
package/mesa3d/Config.in
Quoted 10 lines
package/mesa3d/Config.in new file +10
-0+ select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + help + This is a software opengl implementation using the Gallium3D + infrastructure. + +config BR2_PACKAGE_MESA3D_DRI_DRIVERS_SWRAST + bool "DRI swrast driver" + select BR2_PACKAGE_MESA3D_DRI_DRIVER + help + This is a software opengl implementation using the DRI
infrastrucutre.
Infrastructure
package/mesa3d/Config.in
Quoted 7 lines
package/mesa3d/Config.in new file +7
-0+ +config BR2_PACKAGE_MESA3D_DRI_DRIVERS_I965 + bool "DRI i965 driver" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_MESA3D_DRI_DRIVER + help + Supports all Intel GPUs. This version is most supported by
Intel.
Quoted 14 lines
package/mesa3d/Config.in new file +14
-0+ +config BR2_PACKAGE_MESA3D_DRI_DRIVERS_RADEON + bool "DRI radeon driver" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_MESA3D_DRI_DRIVER + help + Legacy Radeon driver for R100 series GPUs. + +endmenu + +# The following hidden options inform gallium or dri driver selection. +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + select BR2_PACKAGE_MESA3D_DRIVER + bool
package/mesa3d/Config.in
Quoted 10 lines
package/mesa3d/Config.in new file +10
-0+ +config BR2_PACKAGE_MESA3D_DRI_DRIVER + select BR2_PACKAGE_MESA3D_DRIVER + bool + +config BR2_PACKAGE_MESA3D_DRIVER + bool + +menu "API Support" +depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER ||
BR2_PACKAGE_MESA3D_DRI_DRIVER
package/mesa3d/Config.in
Quoted 6 lines
package/mesa3d/Config.in new file +6
-0+ +config BR2_PACKAGE_MESA3D_OPENGL + bool "OpenGL" + select BR2_PACKAGE_HAS_OPENGL + help + Use the Khronos OpenGL API. This is a desktop computer API and
is not
package/mesa3d/Config.in
Quoted 8 lines
package/mesa3d/Config.in new file +8
-0+ normally implemented by embedded systems. + +config BR2_PACKAGE_MESA3D_EGL + bool "EGL" + select BR2_PACKAGE_MESA3D_GBM + select BR2_PACKAGE_HAS_OPENGL_EGL + help + Use the Khronos EGL APIs. EGL is a window manger for OpenGL
applications
package/mesa3d/Config.in line 144
Quoted 1 line
package/mesa3d/Config.in new file +1
-0+ similar to GLX, for X, and WGL, for Windows.
Manager
package/mesa3d/Config.in
Quoted 6 lines
package/mesa3d/Config.in new file +6
-0+ + config BR2_PACKAGE_MESA3D_OPENGL_ES + bool "OpenGL ES" + select BR2_PACKAGE_HAS_OPENGL_ES + help + Use the Khronos OpenGL ES APIs. This is commonly used on
embedded
Review
Quoted 23 lines
package/mesa3d/Config.in new file +22
-0+ systems and represents a subset of the OpenGL API. + +config BR2_PACKAGE_MESA3D_OPENVG + bool "OpenVG" + depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + select BR2_PACKAGE_HAS_OPENVG + select BR2_PACKAGE_MESA3D_OPENGL_EGL + help + Use the Khronos OpenVG APIs. This is a 2D API commonly used on + embedded systems. + +config BR2_PACKAGE_MESA3D_OPENCL + bool "OpenCL" + depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + select BR2_PACKAGE_HAS_OPENCL + help + Use the Khronos OpenCL APIs. This is a GPU computation language + commonly used in GPGPU computing applications. + +endmenu + +endif(quoted diff) +0
-0
b/package/mesa3d/mesa3d-cross-glsl-compiler.patch
package/mesa3d/mesa3d-cross-glsl-compiler.patch line 6
Quoted 11 lines
new file mode 100644
index 0000000..1028ea1package/mesa3d/mesa3d-cross-glsl-compiler.patch new file +6
-0@@ -0,0 +1,41 @@ +This patch fixes a cross compile issue as described here +https://bugs.freedesktop.org/show_bug.cgi?id=44618 + +Signed-off-by: Spenser Gilliland <[email protected]> +--- +diff --git a/src/glsl/builtin_compiler/Makefile.am
b/src/glsl/builtin_compiler/Makefile.am
package/mesa3d/mesa3d-cross-glsl-compiler.patch
Quoted 13 lines
package/mesa3d/mesa3d-cross-glsl-compiler.patch new file +13
-0+index e11a17f..8ebe0a2 100644 +--- a/src/glsl/builtin_compiler/Makefile.am ++++ b/src/glsl/builtin_compiler/Makefile.am +@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS) + include ../Makefile.sources + + noinst_PROGRAMS = builtin_compiler ++ ++if !CROSS_COMPILING + noinst_LTLIBRARIES = libglslcore.la libglcpp.la + + libglcpp_la_SOURCES = \ +@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =
\
Review
Quoted 23 lines
package/mesa3d/mesa3d-cross-glsl-compiler.patch new file +22
-0+ libglslcore_la_SOURCES = \ + $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \ + $(LIBGLSL_FILES) ++endif + + builtin_compiler_SOURCES = \ + $(top_srcdir)/src/mesa/main/hash_table.c \ +@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \ + $(top_srcdir)/src/mesa/program/symbol_table.c \ + $(BUILTIN_COMPILER_CXX_FILES) \ + $(GLSL_COMPILER_CXX_FILES) ++ ++if CROSS_COMPILING ++builtin_compiler_SOURCES += \ ++ $(LIBGLCPP_GENERATED_FILES) \ ++ $(LIBGLCPP_FILES) \ ++ $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \ ++ $(LIBGLSL_FILES) ++builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS) ++else + builtin_compiler_LDADD = libglslcore.la libglcpp.la ++endif(quoted diff) +0
-0
b/package/mesa3d/mesa3d-gbm-without-dri.patch
package/mesa3d/mesa3d-gbm-without-dri.patch line 8
Quoted 13 lines
new file mode 100644
index 0000000..2c417f4package/mesa3d/mesa3d-gbm-without-dri.patch new file +8
-0@@ -0,0 +1,30 @@ +Fix build issue when gbm backend is built without dri support. + +Signed-off-by: Spenser Gilliland <[email protected]> + +--- +Index: mesa3d-9.1.6/src/gbm/main/backend.c +=================================================================== +--- mesa3d-9.1.6.orig/src/gbm/main/backend.c 2012-11-24
11:57:41.000000000 -0600
package/mesa3d/mesa3d-gbm-without-dri.patch line 9
Quoted 1 line
package/mesa3d/mesa3d-gbm-without-dri.patch new file +1
-0++++ mesa3d-9.1.6/src/gbm/main/backend.c 2013-08-16
10:59:58.844753588 -0500
package/mesa3d/mesa3d.mk
Quoted 28 lines
package/mesa3d/mesa3d-gbm-without-dri.patch new file +21
-0+@@ -36,7 +36,9 @@ + + #define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0])) + ++#ifdef HAVE_DRI + extern const struct gbm_backend gbm_dri_backend; ++#endif + + struct backend_desc { + const char *name; +@@ -44,7 +46,9 @@ + }; + + static const struct backend_desc backends[] = { +- { "gbm_dri.so", &gbm_dri_backend }, ++#ifdef HAVE_DRI ++ { "gbm_dri.so", &gbm_dri_backend }, ++#endif + { "gbm_gallium_drm.so", NULL }, + }; +package/mesa3d/mesa3d.mk new file +0
-0@@ -0,0 +1,149 @@
+################################################################################
package/mesa3d/mesa3d.mk line 4
Quoted 4 lines
package/mesa3d/mesa3d.mk new file +3
-0+# +# mesa3d +#
+################################################################################
Quoted 76 lines
package/mesa3d/mesa3d.mk new file +76
-0+ +MESA3D_VERSION = 9.1.6 +MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz +MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) +MESA3D_LICENSE = MIT, SGI, Khronos +MESA3D_LICENSE_FILES = docs/license.html + +MESA3D_AUTORECONF = YES +MESA3D_INSTALL_STAGING = YES + +MESA3D_DEPENDENCIES = \ + libdrm \ + expat \ + host-xutil_makedepend \ + host-libxml2 \ + host-python \ + host-bison \ + host-flex + +MESA3D_CONF_OPT = \ + --disable-static + +# Used by subst in some options +null := +space := $(null) # +comma := , + +# Libraries + +ifeq ($(BR2_PACKAGE_MESA3D_GBM),y) +MESA3D_DEPENDENCIES += udev +MESA3D_CONF_OPT += --enable-gbm +else +MESA3D_CONF_OPT += --disable-gbm +endif + +ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y) +MESA3D_DEPENDENCIES += \ + xproto_xf86driproto xproto_dri2proto xproto_glproto \ + xlib_libX11 xlib_libXext xlib_libXdamage xlib_libXfixes libxcb +MESA3D_CONF_OPT += \ + --enable-dri \ + --enable-xa \ + --enable-glx +else +MESA3D_CONF_OPT += \ + --disable-dri \ + --disable-xa \ + --disable-glx +endif + +# Drivers + +# Gallium Drivers +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915),y) +MESA3D_GALLIUM_DRIVERS += i915 +endif +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU),y) +MESA3D_GALLIUM_DRIVERS += nouveau +endif +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300),y) +MESA3D_GALLIUM_DRIVERS += r300 +endif +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600),y) +MESA3D_GALLIUM_DRIVERS += r600 +endif +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y) +MESA3D_GALLIUM_DRIVERS += radeonsi +endif +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA),y) +MESA3D_GALLIUM_DRIVERS += svga +endif +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST),y) +MESA3D_GALLIUM_DRIVERS += swrast +endif +
package/mesa3d/mesa3d.mk line 91
Quoted 10 lines
package/mesa3d/mesa3d.mk new file +10
-0+# DRI Drivers +ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST),y) +MESA3D_DRI_DRIVERS += swrast +endif +ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965),y) +MESA3D_DRI_DRIVERS += i965 +endif +ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON),y) +MESA3D_DRI_DRIVERS += radeon +endif
The above two sections could be made more elegant by using the kbuild way:
FOO-$(BR2_X) += x
FOO-$(BR2_Y) += y
The references to foo below should then be changed to FOO-y.
package/mesa3d/mesa3d.mk
Quoted 4 lines
package/mesa3d/mesa3d.mk new file +4
-0+ +ifneq ($(MESA3D_GALLIUM_DRIVERS),) +MESA3D_CONF_OPT += \ + --with-gallium-drivers=$(subst
$(space),$(comma),$(MESA3D_GALLIUM_DRIVERS))
package/mesa3d/mesa3d.mk
Quoted 7 lines
package/mesa3d/mesa3d.mk new file +7
-0+else +MESA3D_CONF_OPT += --without-gallium-drivers +endif + +ifneq ($(MESA3D_DRI_DRIVERS),) +MESA3D_CONF_OPT += \ + --with-dri-drivers=$(subst
$(space),$(comma),$(MESA3D_DRI_DRIVERS))
Quoted 8 lines
package/mesa3d/mesa3d.mk new file +8
-0+else +MESA3D_CONF_OPT += --without-dri-drivers +endif + +# APIs + +ifeq ($(BR2_PACKAGE_MESA3D_EGL),y) +MESA3D_EGL_PLATFORMS = drm
package/mesa3d/mesa3d.mk
Quoted 10 lines
package/mesa3d/mesa3d.mk new file +10
-0+ifeq ($(BR2_PACKAGE_WAYLAND),y) +MESA3D_DEPENDENCIES += wayland +MESA3D_EGL_PLATFORMS += wayland +endif +ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y) +MESA3D_EGL_PLATFORMS += x11 +endif +MESA3D_CONF_OPT += \ + --enable-egl \ + --with-egl-platforms=$(foreach subst
$(space),$(comma),$(MESA3D_EGL_PLATFORMS))
package/opengl/libegl/
Quoted 41 lines
package/mesa3d/mesa3d.mk new file +29
-0+else +MESA3D_CONF_OPT += --disable-egl +endif + +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL),y) +MESA3D_CONF_OPT += --enable-opengl +else +MESA3D_CONF_OPT += --disable-opengl +endif + +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y) +MESA3D_CONF_OPT += --enable-gles1 --enable-gles2 +else +MESA3D_CONF_OPT += --disable-gles1 --disable-gles2 +endif + +ifeq ($(BR2_PACKAGE_MESA3D_OPENVG),y) +MESA3D_CONF_OPT += --enable-openvg --enable-gallium-egl +else +MESA3D_CONF_OPT += --disable-openvg --disable-gallium-egl +endif + +ifeq ($(BR2_PACKAGE_MESA3D_OPENCL),y) +MESA3D_CONF_OPT += --enable-opencl +else +MESA3D_CONF_OPT += --disable-opencl +endif + +$(eval $(autotools-package))package/opengl/Config.in +3
-0@@ -1,3 +1,6 @@ +config BR2_PACKAGE_HAS_OPENGL + bool + config BR2_PACKAGE_HAS_OPENGL_EGL boolpackage/opengl/libegl/ renamed from package/opengl/libegl/libegl.mk +0
-0
libegl.mk
package/opengl/libgl/libgl.mk
Quoted 21 lines
index c194b02..2d52fe3 100644
package/opengl/libegl/libegl.mk +4
-0@@ -22,6 +22,10 @@ ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y) LIBEGL_DEPENDENCIES += gpu-viv-bin-mx6q endif +ifeq ($(BR2_PACKAGE_MESA3D_EGL),y) +LIBEGL_DEPENDENCIES += mesa3d +endif + ifeq ($(LIBEGL_DEPENDENCIES),) define LIBEGL_CONFIGURE_CMDS echo "No libEGL implementation selected. Configuration error."package/opengl/libgl/libgl.mk new file +0
-0@@ -0,0 +1,20 @@
+################################################################################
package/opengl/libgl/libgl.mk line 4
Quoted 4 lines
package/opengl/libgl/libgl.mk new file +3
-0+# +# libgl +#
+################################################################################
package/opengl/libgles/
Quoted 16 lines
package/opengl/libgl/libgl.mk new file +15
-0+ +LIBGL_SOURCE = + +ifeq ($(BR2_PACKAGE_MESA_OPENGL),y) +LIBGL_DEPENDENCIES += mesa3d +endif + +ifeq ($(LIBGL_DEPENDENCIES),) +define LIBOPENGL_CONFIGURE_CMDS + echo "No libOpenGL implementation selected. Configuration error." + exit 1 +endef +endif + +$(eval $(generic-package))package/opengl/libgles/ renamed from package/opengl/libgles/libgles.mk +0
-0
libgles.mk
Review
Quoted 15 lines
index ec157ac..8e5cef1 100644
package/opengl/libgles/libgles.mk +4
-0@@ -22,6 +22,10 @@ ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y) LIBGLES_DEPENDENCIES += gpu-viv-bin-mx6q endif +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y) +LIBGLES_DEPENDENCIES += mesa3d +endif + ifeq ($(LIBGLES_DEPENDENCIES),) define LIBGLES_CONFIGURE_CMDS echo "No libGLES implementation selected. Configuration error."(quoted diff) +0
-0
libopenvg.mk
Review
Quoted 27 lines
index 3296f63..e897423 100644
package/opengl/libopenvg/libopenvg.mk +4
-0@@ -10,6 +10,10 @@ ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) LIBOPENVG_DEPENDENCIES += rpi-userland endif +ifeq ($(BR2_PACKAGE_MESA3D_OPENVG),y) +LIBOPENVG_DEPENDENCIES += mesa3d +endif + ifeq ($(LIBOPENVG_DEPENDENCIES),) define LIBOPENVG_CONFIGURE_CMDS echo "No libOpenVG implementation selected. Configuration error."package/x11r7/Config.in +0
-1@@ -13,7 +13,6 @@ if BR2_PACKAGE_XORG7 endmenu menu "X11R7 Libraries" source package/x11r7/libxcb/Config.in - source package/x11r7/mesa3d/Config.in source package/x11r7/xcb-util/Config.in source package/x11r7/xcb-util-image/Config.in source package/x11r7/xcb-util-keysyms/Config.in(quoted diff) +0
-0
b/package/x11r7/mesa3d/Config.in
Quoted 9 lines
deleted file mode 100644
index 080f56a..0000000package/x11r7/mesa3d/Config.in deleted +0
-4@@ -1,15 +0,0 @@ -config BR2_PACKAGE_MESA3D - bool "Mesa 3D Graphics Library" - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XLIB_LIBXXF86VM
package/x11r7/mesa3d/Config.in line 14
Quoted 10 lines
package/x11r7/mesa3d/Config.in deleted +0
-10- select BR2_PACKAGE_XLIB_LIBXDAMAGE - select BR2_PACKAGE_XLIB_LIBXFIXES - select BR2_PACKAGE_XPROTO_DRI2PROTO - select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_HOST_LIBXML2_PYTHON - depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR - depends on BR2_INSTALL_LIBSTDCPP - help - Mesa 3D, an open-source implementation of the OpenGL
specification.
Review
Quoted 2 lines
package/x11r7/mesa3d/Config.in deleted +0
-1-(quoted diff) +0
-0
b/package/x11r7/mesa3d/mesa3d-uclibc-locale.patch
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch line 5
Quoted 10 lines
deleted file mode 100644
index 99afe8d..0000000package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-5@@ -1,56 +0,0 @@ -[PATCH] Fix compilation on uClibc without locale support - -Based on similar patch from OE: - -
Quoted 5 lines
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-5- -Signed-off-by: Peter Korsgaard <[email protected]> ---- - configure.ac | 3 +++ - src/glsl/strtod.c | 2 +-
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch
Quoted 10 lines
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-10- src/mesa/main/imports.c | 2 +- - 3 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index fbaa376..454dad2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -450,6 +450,9 @@ AC_SUBST([DLOPEN_LIBS]) - dnl See if posix_memalign is available - AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES
-DHAVE_POSIX_MEMALIGN"])
Quoted 6 lines
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-6- -+dnl See if newlocale is available -+AC_CHECK_FUNCS_ONCE(newlocale) -+ - dnl SELinux awareness. - AC_ARG_ENABLE([selinux],
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch
Quoted 10 lines
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-10- [AS_HELP_STRING([--enable-selinux], -diff --git a/src/glsl/strtod.c b/src/glsl/strtod.c -index a876e13..9fce7e9 100644 ---- a/src/glsl/strtod.c -+++ b/src/glsl/strtod.c -@@ -44,7 +44,7 @@ double - double - glsl_strtod(const char *s, char **end) - { --#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) &&
!defined(__FreeBSD__)
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch line 37
Quoted 1 line
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-1-+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) &&
!defined(__FreeBSD__) && defined(HAVE_NEWLOCALE)
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch
Quoted 12 lines
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-12- static locale_t loc = NULL; - if (!loc) { - loc = newlocale(LC_CTYPE_MASK, "C", NULL); -diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c -index d3727ef..363bf32 100644 ---- a/src/mesa/main/imports.c -+++ b/src/mesa/main/imports.c -@@ -757,7 +757,7 @@ float - float - _mesa_strtof( const char *s, char **end ) - { --#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) &&
!defined(__FreeBSD__)
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch line 50
Quoted 1 line
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-1-+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) &&
!defined(__FreeBSD__) && defined(HAVE_NEWLOCALE)
package/x11r7/mesa3d/
Quoted 7 lines
package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted +0
-6- static locale_t loc = NULL; - if (!loc) { - loc = newlocale(LC_CTYPE_MASK, "C", NULL); --- -1.7.10.4 -package/x11r7/mesa3d/ renamed from package/x11r7/mesa3d/mesa3d.mk +0
-0
mesa3d.mk
package/x11r7/mesa3d/mesa3d.mk
Quoted 6 lines
deleted file mode 100644
index f9d35a9..0000000package/x11r7/mesa3d/mesa3d.mk deleted +0
-0@@ -1,40 +0,0 @@
-################################################################################
package/x11r7/mesa3d/mesa3d.mk line 4
Quoted 4 lines
package/x11r7/mesa3d/mesa3d.mk deleted +0
-3-# -# mesa3d -#
-################################################################################
Review
Quoted 36 lines
package/x11r7/mesa3d/mesa3d.mk deleted +0
-35- -MESA3D_VERSION = 7.10.3 -MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz -MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) -MESA3D_LICENSE = MIT, SGI, Khronos -MESA3D_LICENSE_FILES = docs/license.html - -MESA3D_AUTORECONF = YES -MESA3D_INSTALL_STAGING = YES - -MESA3D_CONF_OPT = \ - --disable-egl \ - --disable-glu \ - --disable-glw \ - --disable-glut \ - --disable-gallium \ - --with-driver=dri \ - --with-dri-drivers=swrast \ - --disable-static - -MESA3D_DEPENDENCIES = \ - xproto_glproto \ - xlib_libXxf86vm \ - xlib_libXdamage \ - xlib_libXfixes \ - xproto_dri2proto \ - libdrm \ - expat \ - host-xutil_makedepend \ - host-libxml2 \ - host-python \ - host-bison \ - host-flex - -$(eval $(autotools-package))(quoted diff) +0
-0
xserver_xorg-server.mk
Quoted 24 lines
index 4089aab..f5a4db6 100644
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +2
-3@@ -99,7 +99,7 @@ else # modular XSERVER_XORG_SERVER_CONF_OPT += --disable-kdrive --disable-xfbdev endif -ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_MESA3D_DRIVER),y) XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto else XSERVER_XORG_SERVER_CONF_OPT += --disable-dri@@ -172,7 +172,7 @@ ifneq ($(BR2_PACKAGE_XLIB_LIBDMX),y) XSERVER_XORG_SERVER_CONF_OPT += --disable-dmx endif -ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_MESA3D_DRIVER),y) XSERVER_XORG_SERVER_CONF_OPT += --enable-glx else XSERVER_XORG_SERVER_CONF_OPT += --disable-glx --1.8.1.2
Quoted 4 lines
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130825/afc53ad6/attachment-0001.html>
PATCH 4/6 mesa3d: reorganize, modularize, and bump to version 9.1.6
In reply to Spenser GillilandQuoted 21 lines · Spenser Gilliland
move mesa3d out of xorg as it is not really an Xorg component.
Signed-off-by Spenser Gilliland<[email protected]>--- package/Config.in | 1 + package/mesa3d/Config.in | 172 +++++++++++++++++++++ package/mesa3d/mesa3d-cross-glsl-compiler.patch | 41 +++++ package/mesa3d/mesa3d-gbm-without-dri.patch | 30 ++++ package/mesa3d/mesa3d.mk | 149 ++++++++++++++++++ package/opengl/Config.in | 3 + package/opengl/libegl/libegl.mk | 4 + package/opengl/libgl/libgl.mk | 20 +++ package/opengl/libgles/libgles.mk | 4 + package/opengl/libopenvg/libopenvg.mk | 4 + package/x11r7/Config.in | 1 - package/x11r7/mesa3d/Config.in | 15 -- package/x11r7/mesa3d/mesa3d-uclibc-locale.patch | 56 ------- package/x11r7/mesa3d/mesa3d.mk | 40 ----- .../xserver_xorg-server/xserver_xorg-server.mk | 4 +- 15 files changed, 430 insertions(+), 114 deletions(-)
Quoted 8 lines
create mode 100644 package/mesa3d/Config.in
create mode 100644package/mesa3d/mesa3d-cross-glsl-compiler.patchcreate mode 100644package/mesa3d/mesa3d-gbm-without-dri.patchcreate mode 100644package/mesa3d/mesa3d.mk
create mode 100644package/opengl/libgl/libgl.mk
delete mode 100644 package/x11r7/mesa3d/Config.in delete mode 100644package/x11r7/mesa3d/mesa3d-uclibc-locale.patchdelete mode 100644package/x11r7/mesa3d/mesa3d.mk
Hi Spenser,
I think this patch should be split up into two or three patches:
- Move out of X tree
- Modularize
- Bump
(not necessarily in that order).
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 4/6 mesa3d: reorganize, modularize, and bump to version 9.1.6
Spelling mistakes are fixed.
Quoted 10 lines
Hi Spenser,
I think this patch should be split up into two or three patches:
- Move out of X tree
- Modularize
- Bump
No problem. I will change this to three patches and resubmit.
Thanks,
Spenser
Signature · 3 lines
Spenser Gilliland Computer Engineer Doctoral Candidate
PATCH 5/6 libpng12: new package
In reply to Spenser Gillilandlibpng1X all have different incompatible apis therefore it is neccessary to have a seperate package for each branch.
--- package/Config.in | 1 + package/libpng12/Config.in | 8 ++++++++ package/libpng12/libpng12.mk | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 package/libpng12/Config.in create mode 100644 package/libpng12/libpng12.mk
package/Config.in +1 -0
@@ -472,6 +472,7 @@ source "package/libglade/Config.in" source "package/gdk-pixbuf/Config.in" source "package/libgtk2/Config.in" source "package/libpng/Config.in" +source "package/libpng12/Config.in" source "package/libqrencode/Config.in" source "package/libraw/Config.in" source "package/librsvg/Config.in"
package/libpng12/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBPNG12 + bool "libpng" + select BR2_PACKAGE_ZLIB + help + Library for handling PNG (Portable Network Graphics) + images. + + http://www.libpng.org/
package/libpng12/libpng12.mk new file +18 -0
@@ -0,0 +1,18 @@ +################################################################################ +# +# libpng12 +# +################################################################################ + +LIBPNG12_VERSION = 1.2.50 +LIBPNG12_SERIES = 12 +LIBPNG12_SOURCE = libpng-$(LIBPNG12_VERSION).tar.bz2 +LIBPNG12_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG12_SERIES}/$(LIBPNG12_VERSION) +LIBPNG12_LICENSE = libpng license +LIBPNG12_LICENSE_FILES = LICENSE +LIBPNG12_INSTALL_STAGING = YES +LIBPNG12_DEPENDENCIES = host-pkgconf zlib +LIBPNG12_CONFIG_SCRIPTS = libpng$(LIBPNG12_SERIES)-config libpng-config + +$(eval $(autotools-package)) +$(eval $(host-autotools-package))
Signature · 1 line
1.8.1.2
PATCH 5/6 libpng12: new package
Quoted 2 lines · Spenser Gilliland
libpng1X all have different incompatible apis therefore it is neccessary to have a seperate package for each branch.
This explanation should be in either the Config.in or in the .mk file
as well.
Quoted 42 lines
Signed-off-by Spenser Gilliland <[email protected]>--- package/Config.in | 1 + package/libpng12/Config.in | 8 ++++++++ package/libpng12/libpng12.mk | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+)create mode 100644 package/libpng12/Config.in
create mode 100644package/libpng12/libpng12.mkpackage/Config.in +1
-0@@ -472,6 +472,7 @@ source "package/libglade/Config.in" source "package/gdk-pixbuf/Config.in" source "package/libgtk2/Config.in" source "package/libpng/Config.in" +source "package/libpng12/Config.in" source "package/libqrencode/Config.in" source "package/libraw/Config.in" source "package/librsvg/Config.in"package/libpng12/Config.in new file +8
-0@@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBPNG12 + bool "libpng" + select BR2_PACKAGE_ZLIB + help + Library for handling PNG (Portable Network Graphics) + images. + + http://www.libpng.org/package/libpng12/libpng12.mk new file +0
-0
package/libpng12/libpng12.mk line 10
Quoted 10 lines
package/libpng12/libpng12.mk new file +10
-0@@ -0,0 +1,18 @@ +################################################################################ +# +# libpng12 +# +################################################################################ + +LIBPNG12_VERSION = 1.2.50 +LIBPNG12_SERIES = 12 +LIBPNG12_SOURCE = libpng-$(LIBPNG12_VERSION).tar.bz2 +LIBPNG12_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG12_SERIES}/$(LIBPNG12_VERSION)
Use $(), not ${} Regards,
Arnout
Quoted 9 lines
package/libpng12/libpng12.mk new file +8
-0+LIBPNG12_LICENSE = libpng license +LIBPNG12_LICENSE_FILES = LICENSE +LIBPNG12_INSTALL_STAGING = YES +LIBPNG12_DEPENDENCIES = host-pkgconf zlib +LIBPNG12_CONFIG_SCRIPTS = libpng$(LIBPNG12_SERIES)-config libpng-config + +$(eval $(autotools-package)) +$(eval $(host-autotools-package))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 5/6 libpng12: new package
Arnout,
Quoted 8 lines
Quoted 4 lines
libpng1X all have different incompatible apis therefore it is neccessary to
have a seperate package for each branch.This explanation should be in either the Config.in or in the .mk file as
well.
Will fix.
Quoted 1 line
Use $(), not ${}
Will fix.
Thanks,
Spenser
Signature · 3 lines
Spenser Gilliland Computer Engineer Doctoral Candidate
PATCH 6/6 glmark2: new package
In reply to Spenser Gilliland--- package/Config.in | 1 + package/glmark2/Config.in | 49 ++++++++++ package/glmark2/glmark2-add-mali-support.patch | 102 +++++++++++++++++++++ package/glmark2/glmark2-fix-add-GLchar.patch | 17 ++++ .../glmark2-gl-to-glesv2-on-drm-flavor.patch | 25 +++++ package/glmark2/glmark2.mk | 70 ++++++++++++++ 6 files changed, 264 insertions(+) create mode 100644 package/glmark2/Config.in create mode 100644 package/glmark2/glmark2-add-mali-support.patch create mode 100644 package/glmark2/glmark2-fix-add-GLchar.patch create mode 100644 package/glmark2/glmark2-gl-to-glesv2-on-drm-flavor.patch create mode 100644 package/glmark2/glmark2.mk
package/Config.in +1 -0
@@ -24,6 +24,7 @@ source "package/dstat/Config.in" source "package/dmalloc/Config.in" source "package/dropwatch/Config.in" source "package/gdb/Config.in" +source "package/glmark2/Config.in" source "package/iozone/Config.in" source "package/kexec/Config.in" source "package/latencytop/Config.in"
package/glmark2/Config.in new file +49 -0
49 lines not on this page · raw message
package/glmark2/glmark2-add-mali-support.patch new file +102 -0
102 lines not on this page · raw message
package/glmark2/glmark2-fix-add-GLchar.patch new file +17 -0
@@ -0,0 +1,17 @@ +Bug fix in program.cc. There is no such type as GLchar. + +Signed-off-by: Spenser Gilliland <[email protected]> +--- +Index: glmark2-2012.12/src/libmatrix/program.cc +=================================================================== +--- glmark2-2012.12.orig/src/libmatrix/program.cc 2012-12-18 13:45:45.000000000 -0600 ++++ glmark2-2012.12/src/libmatrix/program.cc 2013-08-13 20:08:27.005724911 -0500 +@@ -17,6 +17,8 @@ + #include "gl-if.h" + #include "program.h" + ++typedef char GLchar; ++ + using std::string; + using LibMatrix::mat4; + using LibMatrix::mat3;
package/glmark2/glmark2-gl-to-glesv2-on-drm-flavor.patch new file +25 -0
@@ -0,0 +1,25 @@ +Bug in build script requires full opengl when only opengl es is actually +required. + +Signed-off-by: Spenser Gilliland <[email protected]> +--- +Index: glmark2-279/src/wscript_build +=================================================================== +--- glmark2-279.orig/src/wscript_build 2013-08-19 17:36:32.000000000 -0500 ++++ glmark2-279/src/wscript_build 2013-08-20 10:31:39.364629078 -0500 +@@ -23,11 +23,12 @@ + 'x11-gl' : ['x11', 'gl', 'matrix-gl'], + 'x11-glesv2' : ['x11', 'egl', 'glesv2', 'matrix-glesv2'], + 'drm-gl' : ['drm', 'gbm', 'egl', 'gl', 'matrix-gl'], +- 'drm-glesv2' : ['drm', 'gbm', 'egl', 'glesv2', 'matrix-gl'], ++ 'drm-glesv2' : ['drm', 'gbm', 'egl', 'glesv2', 'matrix-glesv2'], + 'mir-gl' : ['mirclient', 'egl', 'gl', 'matrix-gl'], +- 'mir-glesv2' : ['mirclient', 'egl', 'glesv2', 'matrix-gl'], ++ 'mir-glesv2' : ['mirclient', 'egl', 'glesv2', 'matrix-glesv2'], + 'wayland-gl' : ['wayland-client', 'wayland-egl', 'egl', 'gl', 'matrix-gl'], +- 'wayland-glesv2' : ['wayland-client', 'wayland-egl', 'egl', 'glesv2', 'matrix-gl'], ++ 'wayland-glesv2' : ['wayland-client', 'wayland-egl', 'egl', 'glesv2', ++ 'matrix-glesv2'], + 'fbdev-glesv2' : ['egl', 'glesv2', 'matrix-glesv2'] + } + flavor_defines = {
package/glmark2/glmark2.mk new file +70 -0
70 lines not on this page · raw message
Signature · 1 line
1.8.1.2
PATCH 6/6 glmark2: new package
Quoted 9 lines · Spenser Gilliland
Signed-off-by Spenser Gilliland <[email protected]>--- package/Config.in | 1 + package/glmark2/Config.in | 49 ++++++++++ package/glmark2/glmark2-add-mali-support.patch | 102 +++++++++++++++++++++ package/glmark2/glmark2-fix-add-GLchar.patch | 17 ++++ .../glmark2-gl-to-glesv2-on-drm-flavor.patch | 25 +++++ package/glmark2/glmark2.mk | 70 ++++++++++++++ 6 files changed, 264 insertions(+)
Quoted 4 lines
create mode 100644 package/glmark2/Config.in
create mode 100644package/glmark2/glmark2-add-mali-support.patchcreate mode 100644package/glmark2/glmark2-fix-add-GLchar.patchcreate mode 100644package/glmark2/glmark2-gl-to-glesv2-on-drm-flavor.patch
Have these patches been sent upstream?
Quoted 20 lines
create mode 100644
package/glmark2/glmark2.mkpackage/Config.in +1
-0@@ -24,6 +24,7 @@ source "package/dstat/Config.in" source "package/dmalloc/Config.in" source "package/dropwatch/Config.in" source "package/gdb/Config.in" +source "package/glmark2/Config.in" source "package/iozone/Config.in" source "package/kexec/Config.in" source "package/latencytop/Config.in"package/glmark2/Config.in new file +0
-0
package/glmark2/Config.in line 4
Quoted 4 lines
package/glmark2/Config.in new file +4
-0@@ -0,0 +1,49 @@ +config BR2_PACKAGE_GLMARK2 + bool "glmark2" + depends on BR2_PACKAGE_MESA3D + depends on BR2_PACKAGE_MESA3D_GBM
I would think that a select is more appropriate here.
package/glmark2/Config.in line 11
Quoted 7 lines
package/glmark2/Config.in new file +7
-0+ depends on BR2_LARGEFILE + depends on BR2_PACKAGE_HAS_OPENGL || \ + (BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES) + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBPNG12 + select BR2_PACKAGE_XLIB_LIBPCIACCESS if BR2_i386 || BR2_x86_64 # libdrm + select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS # libdrm
These selects are redundant, they're done by libdrm...
package/glmark2/Config.in line 22
Quoted 11 lines
package/glmark2/Config.in new file +11
-0+ help + glmark2 is a benchmark for OpenGL (ES) 2.0. It uses only the subset of the + OpenGL 2.0 API that is compatible with OpenGL ES 2.0. + +if BR2_PACKAGE_GLMARK2 + +config BR2_PACKAGE_GLMARK2_X11 + bool "X11" + depends on BR2_PACKAGE_XSERVER_XORG_SERVER + help + Use X11 window for display.
Since this is a benchmark tool, I don't really think it is necessary to
make the backends configurable. Just include any backend that is available.
You would probably want a "depends on" in the top symbol to make sure
at least one backend is available.
Quoted 15 lines
package/glmark2/Config.in new file +15
-0+ +config BR2_PACKAGE_GLMARK2_EGL + bool "EGL" + default y + depends on BR2_PACKAGE_HAS_OPENGL_EGL + help + Use EGL window for display. + +config BR2_PACKAGE_GLMARK2_OPENGL + bool "Install Desktop OpenGL 2.0 Version" + default y + depends on BR2_PACKAGE_HAS_OPENGL + help + Enable desktop OpenGL version. +
package/glmark2/Config.in line 47
Quoted 10 lines
package/glmark2/Config.in new file +10
-0+config BR2_PACKAGE_GLMARK2_OPENGL_ES + bool "Install OpenGL ES 2.0 Version" + default y + depends on BR2_PACKAGE_HAS_OPENGL_ES + help + Enable OpenGL ES 2.0 Version. + +endif + +comment "glmark2 requires an OpenGL implementation and many X libraries"
Actually just mesa3d AFAICS, so "many X libraries" is an exaggeration.
Quoted 2 lines
package/glmark2/Config.in new file +2
-0+ depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES \ + || !BR2_PACKAGE_XORG7
[snip]
Quoted 50 lines
package/glmark2/glmark2.mk new file +44
-0@@ -0,0 +1,70 @@ +################################################################################ +# +# glmark2 +# +################################################################################ + +GLMARK2_VERSION = 279 +GLMARK2_SITE = http://bazaar.launchpad.net/~laanwj/glmark2/fbdev +GLMARK2_SITE_METHOD = bzr +GLMARK2_SOURCE = glmark2-$(GLMARK2_VERSION).tar.gz +GLMARK2_LICENSE = GPLv3+ SGIv1 +GLMARK2_LICENSE_FILES = COPYING COPYING.SGI + +GLMARK2_DEPENDENCIES = jpeg libpng12 mesa3d host-python host-pkgconf + +GLMARK2_CONF_OPTS = --prefix=/usr/ + +ifeq ($(BR2_PACKAGE_GLMARK2_X11)$(BR2_PACKAGE_GLMARK2_OPENGL_ES),yy) +GLMARK2_DEPENDENCIES += libegl libgles +GLMARK2_FLAVORS += x11-glesv2 +endif + +ifeq ($(BR2_PACKAGE_GLMARK2_X11)$(BR2_PACKAGE_GLMARK2_OPENGL),yy) +GLMARK2_DEPENDENCIES += libgl +GLMARK2_FLAVORS += x11-gl +endif + +ifeq ($(BR2_PACKAGE_GLMARK2_EGL)$(BR2_PACKAGE_GLMARK2_OPENGL_ES),yy) +GLMARK2_DEPENDENCIES += libdrm libegl libgles +GLMARK2_FLAVORS += drm-glesv2 fbdev-glesv2 +endif + +ifeq ($(BR2_PACKAGE_GLMARK2_EGL)$(BR2_PACKAGE_GLMARK2_OPENGL),yy) +GLMARK2_DEPENDENCIES += libdrm libgl +GLMARK2_FLAVORS += drm-gl +endif + +ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_GLMARK2_OPENGL_ES),yy) +GLMARK2_DEPENDENCIES += wayland libegl libgles +GLMARK2_FLAVORS += wayland-glesv2 +endif + +ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_GLMARK2_OPENGL),yy) +GLMARK2_DEPENDENCIES += wayland libgl
package/glmark2/glmark2.mk line 54
Quoted 10 lines
package/glmark2/glmark2.mk new file +10
-0+GLMARK2_FLAVORS += wayland-gl +endif + +ifeq ($(BR2_PACKAGE_SUNXI_MALI),y) +GLMARK2_CONF_OPTS += --for-mali +endif + +null := +space := $(null) # +comma := ,
space and comma are already defined in the top-level Makefile, and used
in a few other packages as well.
package/glmark2/glmark2.mk line 59
Quoted 5 lines
package/glmark2/glmark2.mk new file +5
-0+ +GLMARK2_CONF_OPTS += --with-flavors=$(subst $(space),$(comma),$(GLMARK2_FLAVORS)) + +define GLMARK2_CONFIGURE_CMDS +cd $(@D) && $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) ./waf configure $(GLMARK2_CONF_OPTS)
Indent with a tab (same for other _CMDS).
Regards,
Arnout
Quoted 12 lines
package/glmark2/glmark2.mk new file +11
-0+endef + +define GLMARK2_BUILD_CMDS +cd $(@D) && $(TARGET_MAKE_ENV) ./waf +endef + +define GLMARK2_INSTALL_TARGET_CMDS +cd $(@D) && $(TARGET_MAKE_ENV) ./waf install --destdir=$(TARGET_DIR) +endef + +$(eval $(generic-package))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 6/6 glmark2: new package
Arnout,
Thanks for the review. I appreciate your suggestions.
Quoted 19 lines · Arnout Vandecappelle
Quoted 11 lines · Spenser Gilliland
Signed-off-by Spenser Gilliland <[email protected]>--- package/Config.in | 1 + package/glmark2/Config.in | 49 ++++++++++ package/glmark2/glmark2-add-mali-support.patch | 102 +++++++++++++++++++++ package/glmark2/glmark2-fix-add-GLchar.patch | 17 ++++ .../glmark2-gl-to-glesv2-on-drm-flavor.patch | 25 +++++ package/glmark2/glmark2.mk | 70 ++++++++++++++ 6 files changed, 264 insertions(+)Quoted 5 lines
create mode 100644 package/glmark2/Config.in
create mode 100644package/glmark2/glmark2-add-mali-support.patchcreate mode 100644package/glmark2/glmark2-fix-add-GLchar.patchcreate mode 100644package/glmark2/glmark2-gl-to-glesv2-on-drm-flavor.patch
Quoted 1 line
Have these patches been sent upstream?
Not yet. I was planning to wait until these patches were committed before submitting them upstream.
Quoted 20 lines
Quoted 20 lines
create mode 100644
package/glmark2/glmark2.mkpackage/Config.in +1
-0@@ -24,6 +24,7 @@ source "package/dstat/Config.in" source "package/dmalloc/Config.in" source "package/dropwatch/Config.in" source "package/gdb/Config.in" +source "package/glmark2/Config.in" source "package/iozone/Config.in" source "package/kexec/Config.in" source "package/latencytop/Config.in"package/glmark2/Config.in new file +0
-0
Quoted 8 lines
package/glmark2/Config.in line 4
Quoted 5 lines
package/glmark2/Config.in new file +4
-0@@ -0,0 +1,49 @@ +config BR2_PACKAGE_GLMARK2 + bool "glmark2" + depends on BR2_PACKAGE_MESA3D + depends on BR2_PACKAGE_MESA3D_GBMI would think that a select is more appropriate here.
Will fix.
Quoted 12 lines
Quoted 10 lines
package/glmark2/Config.in new file +6
-0+ depends on BR2_LARGEFILE + depends on BR2_PACKAGE_HAS_OPENGL || \ + (BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES) + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBPNG12 + select BR2_PACKAGE_XLIB_LIBPCIACCESS if BR2_i386 || BR2_x86_64 #libdrm
+ selectBR2_PACKAGE_XLIB_LIBPTHREAD_STUBS# libdrm
Quoted 1 line
These selects are redundant, they're done by libdrm...
Will fix.
Quoted 18 lines
package/glmark2/Config.in line 22
Quoted 13 lines
package/glmark2/Config.in new file +2
-0+ help + glmark2 is a benchmark for OpenGL (ES) 2.0. It uses only thesubset of the
package/glmark2/Config.in new file +9
-0+ OpenGL 2.0 API that is compatible with OpenGL ES 2.0. + +if BR2_PACKAGE_GLMARK2 + +config BR2_PACKAGE_GLMARK2_X11 + bool "X11" + depends on BR2_PACKAGE_XSERVER_XORG_SERVER + help + Use X11 window for display.Since this is a benchmark tool, I don't really think it is necessary to
make the backends configurable. Just include any backend that is available.
Quoted 2 lines
You would probably want a "depends on" in the top symbol to make sure at
least one backend is available.
Will fix.
Quoted 21 lines
Quoted 21 lines
package/glmark2/Config.in new file +20
-0+ +config BR2_PACKAGE_GLMARK2_EGL + bool "EGL" + default y + depends on BR2_PACKAGE_HAS_OPENGL_EGL + help + Use EGL window for display. + +config BR2_PACKAGE_GLMARK2_OPENGL + bool "Install Desktop OpenGL 2.0 Version" + default y + depends on BR2_PACKAGE_HAS_OPENGL + help + Enable desktop OpenGL version. + +config BR2_PACKAGE_GLMARK2_OPENGL_ES + bool "Install OpenGL ES 2.0 Version" + default y + depends on BR2_PACKAGE_HAS_OPENGL_ES + help
Quoted 8 lines
package/glmark2/Config.in line 47
Quoted 5 lines
package/glmark2/Config.in new file +5
-0+ Enable OpenGL ES 2.0 Version. + +endif + +comment "glmark2 requires an OpenGL implementation and many X libraries"Actually just mesa3d AFAICS, so "many X libraries" is an exaggeration.
This was left in from before my fixes in libdrm/mesa3d. Will fix.
Quoted 65 lines
Quoted 4 lines
+ depends on !BR2_PACKAGE_HAS_OPENGL_EGL ||
!BR2_PACKAGE_HAS_OPENGL_ES \
+ || !BR2_PACKAGE_XORG7[snip]
Quoted 58 lines
package/glmark2/glmark2.mk new file +50
-0@@ -0,0 +1,70 @@ +################################################################################ +# +# glmark2 +# +################################################################################ + +GLMARK2_VERSION = 279 +GLMARK2_SITE = http://bazaar.launchpad.net/~laanwj/glmark2/fbdev +GLMARK2_SITE_METHOD = bzr +GLMARK2_SOURCE = glmark2-$(GLMARK2_VERSION).tar.gz +GLMARK2_LICENSE = GPLv3+ SGIv1 +GLMARK2_LICENSE_FILES = COPYING COPYING.SGI + +GLMARK2_DEPENDENCIES = jpeg libpng12 mesa3d host-python host-pkgconf + +GLMARK2_CONF_OPTS = --prefix=/usr/ + +ifeq ($(BR2_PACKAGE_GLMARK2_X11)$(BR2_PACKAGE_GLMARK2_OPENGL_ES),yy) +GLMARK2_DEPENDENCIES += libegl libgles +GLMARK2_FLAVORS += x11-glesv2 +endif + +ifeq ($(BR2_PACKAGE_GLMARK2_X11)$(BR2_PACKAGE_GLMARK2_OPENGL),yy) +GLMARK2_DEPENDENCIES += libgl +GLMARK2_FLAVORS += x11-gl +endif + +ifeq ($(BR2_PACKAGE_GLMARK2_EGL)$(BR2_PACKAGE_GLMARK2_OPENGL_ES),yy) +GLMARK2_DEPENDENCIES += libdrm libegl libgles +GLMARK2_FLAVORS += drm-glesv2 fbdev-glesv2 +endif + +ifeq ($(BR2_PACKAGE_GLMARK2_EGL)$(BR2_PACKAGE_GLMARK2_OPENGL),yy) +GLMARK2_DEPENDENCIES += libdrm libgl +GLMARK2_FLAVORS += drm-gl +endif + +ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_GLMARK2_OPENGL_ES),yy) +GLMARK2_DEPENDENCIES += wayland libegl libgles +GLMARK2_FLAVORS += wayland-glesv2 +endif + +ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_GLMARK2_OPENGL),yy) +GLMARK2_DEPENDENCIES += wayland libgl +GLMARK2_FLAVORS += wayland-gl +endif + +ifeq ($(BR2_PACKAGE_SUNXI_MALI),y) +GLMARK2_CONF_OPTS += --for-mali +endif
Quoted 8 lines
package/glmark2/glmark2.mk line 54
Quoted 4 lines
package/glmark2/glmark2.mk new file +4
-0+ +null := +space := $(null) # +comma := ,space and comma are already defined in the top-level
Makefile, and used in
a few other packages as well.
Will fix.
Quoted 11 lines
Quoted 8 lines
package/glmark2/glmark2.mk new file +2
-0+ +GLMARK2_CONF_OPTS += --with-flavors=$(subst$(space),$(comma),$(GLMARK2_FLAVORS))
package/glmark2/glmark2.mk new file +3
-0+ +define GLMARK2_CONFIGURE_CMDS +cd $(@D) && $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) ./waf configure$(GLMARK2_CONF_OPTS)
Indent with a tab (same for other
_CMDS).
Will fix.
Thanks,
Spenser
Signature · 3 lines
Spenser Gilliland Computer Engineer Doctoral Candidate
PATCH 6/6 glmark2: new package
Quoted 24 lines · Spenser Gilliland
Arnout,
Thanks for the review. I appreciate your suggestions.
Quoted 19 lines · Arnout Vandecappelle
Quoted 19 lines · Spenser Gilliland
Quoted 16 lines
Quoted 16 lines
Signed-off-by Spenser Gilliland<[email protected]>--- package/Config.in | 1 + package/glmark2/Config.in | 49 ++++++++++ package/glmark2/glmark2-add-mali-support.patch | 102 +++++++++++++++++++++ package/glmark2/glmark2-fix-add-GLchar.patch | 17 ++++ .../glmark2-gl-to-glesv2-on-drm-flavor.patch | 25 +++++ package/glmark2/glmark2.mk | 70 ++++++++++++++ 6 files changed, 264 insertions(+)create mode 100644 package/glmark2/Config.in
create mode 100644package/glmark2/glmark2-add-mali-support.patchcreate mode 100644package/glmark2/glmark2-fix-add-GLchar.patchcreate mode 100644package/glmark2/glmark2-gl-to-glesv2-on-drm-flavor.patch
Quoted 3 lines
Quoted 1 line
Quoted 1 line
Have these patches been sent upstream?
Not yet. I was planning to wait until these patches were committed before submitting them upstream.
It's a better idea to send them right away. The buildroot people are
not ideally placed to review those patches, so you may get more useful feedback from upstream. Also, if upstream is fast enough to review the patches, you can still make modifications to the patch included in buildroot.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 6/6 glmark2: new package
Quoted 33 lines · Arnout Vandecappelle
Quoted 32 lines · Spenser Gilliland
Arnout,
Thanks for the review. I appreciate your suggestions.
Quoted 24 lines · Arnout Vandecappelle
Quoted 24 lines · Spenser Gilliland
Quoted 18 lines
Quoted 13 lines
Signed-off-by Spenser Gilliland<[email protected]>--- package/Config.in | 1 + package/glmark2/Config.in | 49 ++++++++++ package/glmark2/glmark2-add-mali-support.patch | 102 +++++++++++++++++++++ package/glmark2/glmark2-fix-add-GLchar.patch | 17 ++++ .../glmark2-gl-to-glesv2-on-drm-flavor.patch | 25 +++++ package/glmark2/glmark2.mk | 70 ++++++++++++++ 6 files changed, 264 insertions(+)Quoted 5 lines
create mode 100644 package/glmark2/Config.in
create mode 100644package/glmark2/glmark2-add-mali-support.patchcreate mode 100644package/glmark2/glmark2-fix-add-GLchar.patchcreate mode 100644package/glmark2/glmark2-gl-to-glesv2-on-drm-flavor.patchHave these patches been sent upstream?
Quoted 8 lines
Quoted 2 lines
Not yet. I was planning to wait until these patches were committed before submitting them upstream.
It's a better idea to send them right away. The buildroot people are not
ideally placed to review those patches, so you may get more useful feedback from upstream. Also, if upstream is fast enough to review the patches, you can still make modifications to the patch included in buildroot.
They have been sent. Awaiting review using launchpad see
https://code.launchpad.net/~spenser-gilliland/glmark2/mali-fbdev .
Quoted 5 lines
Regards,
Arnout
Quoted 7 lines
--
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
Regards,
Spenser
Signature · 3 lines
Spenser Gilliland Computer Engineer Doctoral Candidate
PATCH 6/6 glmark2: new package
In reply to Spenser GillilandDear Spenser Gilliland,
package/glmark2/Config.in line 7
Quoted 13 lines · Spenser Gilliland
package/glmark2/Config.in new file +7
-0@@ -0,0 +1,49 @@ +config BR2_PACKAGE_GLMARK2 + bool "glmark2" + depends on BR2_PACKAGE_MESA3D + depends on BR2_PACKAGE_MESA3D_GBM + depends on BR2_LARGEFILE + depends on BR2_PACKAGE_HAS_OPENGL || \ + (BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES)
It's probably me not having enough OpenGL/Mesa knowledge, but my understanding was that Mesa was the OpenGL/EGL/OpenVG implementations for "desktop" graphics cards, and that therefore Mesa was equivalent to the OpenGL implementations provided by ARM SoC vendors, so that OpenGL applications such as glmark2 would only have to depends on HAS_OPENGL || (HAS_OPENGL_EGL && HAS_OPENGL_ES), and not depend on Mesa in addition to this.
With the dependencies you've listed, on a TI OMAP3 platform, we would need both Mesa *and* the ti-gfx package. Is this expected? I suppose that this means Mesa provides more stuff that just GL/GLES/EGL/VG. If that's the case, do you have a few more details?
package/glmark2/Config.in line 11
Quoted 4 lines
package/glmark2/Config.in new file +4
-0+ select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBPNG12 + select BR2_PACKAGE_XLIB_LIBPCIACCESS if BR2_i386 || BR2_x86_64 # libdrm + select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS # libdrm
glmark2 is directly using libpciaccess and libpthread-stubs?
Thanks!
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 6/6 glmark2: new package
Thomas,
Quoted 7 lines
It's probably me not having enough OpenGL/Mesa knowledge, but my understanding was that Mesa was the OpenGL/EGL/OpenVG implementations for "desktop" graphics cards, and that therefore Mesa was equivalent to the OpenGL implementations provided by ARM SoC vendors, so that OpenGL applications such as glmark2 would only have to depends on
HAS_OPENGL|| (HAS_OPENGL_EGL&&HAS_OPENGL_ES), and not depend on Mesa in addition to this.
GLMark2 depends on Mesa because Mesa provides libgbm which is a required dependency of glmark2.
Quoted 5 lines
With the dependencies you've listed, on a TI OMAP3 platform, we would need both Mesa *and* the ti-gfx package. Is this expected? I suppose that this means Mesa provides more stuff that just GL/GLES/EGL/VG. If that's the case, do you have a few more details?
Everything you have mentioned is completely correct.
Quoted 6 lines
package/glmark2/Config.in line 11
Quoted 4 lines
package/glmark2/Config.in new file +4
-0+ select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBPNG12 + select BR2_PACKAGE_XLIB_LIBPCIACCESS if BR2_i386 || BR2_x86_64 # libdrm + select BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS # libdrmglmark2 is directly using libpciaccess and libpthread-stubs?
Fixed in recent version.
Quoted 8 lines
Thanks!
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
Signature · 3 lines
Spenser Gilliland Computer Engineer Doctoral Candidate