Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 6/6] glmark2: new package
Date: Mon, 26 Aug 2013 19:43:55 +0200	[thread overview]
Message-ID: <521B93DB.8010401@mind.be> (raw)
In-Reply-To: <1377373321-29732-7-git-send-email-spenser@gillilanding.com>

On 08/24/13 21:42, Spenser Gilliland wrote:
> Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
> ---
>   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

  Have these patches been sent upstream?

>   create mode 100644 package/glmark2/glmark2.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 2b8bef0..ebe8cb4 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -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"
> diff --git a/package/glmark2/Config.in b/package/glmark2/Config.in
> new file mode 100644
> index 0000000..47ed221
> --- /dev/null
> +++ b/package/glmark2/Config.in
> @@ -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.

> +	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...

> +	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.

> +
> +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
> +	  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.

> +	depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES \
> +		|| !BR2_PACKAGE_XORG7
[snip]
> diff --git a/package/glmark2/glmark2.mk b/package/glmark2/glmark2.mk
> new file mode 100644
> index 0000000..47b464b
> --- /dev/null
> +++ b/package/glmark2/glmark2.mk
> @@ -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
> +
> +null :=
> +space := $(null) #
> +comma := ,

  space and comma are already defined in the top-level Makefile, and used 
in a few other packages as well.

> +
> +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

> +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))
>


-- 
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

  reply	other threads:[~2013-08-26 17:43 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-24 19:41 [Buildroot] [PATCH 0/6] Sunxi fixes, improve Mesa3d Support, and add glmark2 benchmark application Spenser Gilliland
2013-08-24 19:41 ` [Buildroot] [PATCH 1/6] libdrm: bump and add experimental ARM framebuffer support Spenser Gilliland
2013-08-26 17:33   ` Arnout Vandecappelle
2013-08-27  7:38   ` Thomas Petazzoni
2013-08-27 19:24     ` Spenser Gilliland
2013-08-27 20:42       ` Thomas Petazzoni
2013-08-24 19:41 ` [Buildroot] [PATCH 2/6] sunxi-mali: bug fixes for pc and init script Spenser Gilliland
2013-08-27  7:39   ` Thomas Petazzoni
2013-08-28 11:44   ` Peter Korsgaard
2013-08-24 19:41 ` [Buildroot] [PATCH 3/6] sunxi-cedarx: bump to newer version, use armel2 binaries, add demo Spenser Gilliland
2013-08-24 19:41 ` [Buildroot] [PATCH 4/6] mesa3d: reorganize, modularize, and bump to version 9.1.6 Spenser Gilliland
2013-08-25  6:45   ` Thomas De Schampheleire
2013-08-26 17:27   ` Arnout Vandecappelle
2013-08-27 18:56     ` Spenser Gilliland
2013-08-24 19:42 ` [Buildroot] [PATCH 5/6] libpng12: new package Spenser Gilliland
2013-08-26 17:21   ` Arnout Vandecappelle
2013-08-27 18:58     ` Spenser Gilliland
2013-08-24 19:42 ` [Buildroot] [PATCH 6/6] glmark2: " Spenser Gilliland
2013-08-26 17:43   ` Arnout Vandecappelle [this message]
2013-08-27 19:01     ` Spenser Gilliland
2013-08-29  5:35       ` Arnout Vandecappelle
2013-08-29 18:24         ` Spenser Gilliland
2013-08-27 20:48   ` Thomas Petazzoni
2013-09-06 16:35     ` Spenser Gilliland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521B93DB.8010401@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox