GPU package now includes libraries for GPU2D as well as several tools to
monitor and debug the GPUs.
GPU2D libraries have been tested with the example provided in the
package:
# /usr/share/examples/fsl-samples/g2d/overlay_test/g2d_overlay_test
Overlay rendering time 53861us .
The tools have been tested with the following commands:
# cd /usr/share/examples/viv_samples/vdk/
# apitrace trace --api egl ./tutorial7 &
# gmem_info
... display memory use per PID ...
# killall tutorial7
# apitrace replay tutorial7.trace
# eglretrace tutorial7.trace
[Thomas: tweak the installation logic to be more explicit about paths
being copied, and to use cp -dpfr consistently.]
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The imx-vpu package builds just fine without any special kernel header.
Cc: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Based on the Yocto 3.14.28-1.0.0_ga update:
https://github.com/Freescale/meta-fsl-arm/commit/6c44744
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Also add the package hash file.
3.14.28-1.0.1 patch release has the following bug fixes:
MGS-554 [#1644] Fix the false alert with GPU commit dirty
MGS-528 [#ccc] Wayland does not free window memory until the application
exits
GRPH-56 [#ccc] Add environment variable to turn off memory fill
GRPH-55 [ccc] Add alpha channel for direct texture viv extension
MA-6540 [#1672] Fix native fence FD leak found by Android™ CTS
MGS-663 [#1686] P4 release can't be built statically
MA-6527 [#1666] Fix android.webgl.cts.WebGLTest CTS failure
MGS-511-2 [#1593] Qt 3D app cannot run on i.MX 6SoloX board
MGS-658 [#ccc] Fix build warning of isInApiTraceMode for static link
Revert MGS-352 [#1453] Creating context on 5.x is slower than 4.x due to
process name
read
MGS-578 [#1657] GoogleEarth APK encounters a shader compile error
MGS-507 [#1323] RenderToTexture has distorted pictures on screen in DL
board
MGS-547 [#ccc] Add YVYU format test in g2d_overlay_test
MGS-547 [#1640] YVYU format gets wrong result when 2D is built
MGS-564 [#ccc] Resolve race condition in display frame sync
MGS-367 [#1589] "CTRL+C" to close the "tutorial7_es20" causes GPU to
hang
MGS-543 [#1604] Remove some unsupported extensions in gles10
MGS-436 [#ccc] Memory leak in glimagesink video loop playback
MA-6267 [#1600] Fix ES3.0 benchmark UBenchEnhanced can't run
MA-6208-1 [#1543] Fix build error
MA-6208 [#1543] Fix com.drawelements.deqp.gles3 CTS failure
MGS-511 [#1593] Qt 3D app cannot run on i.MX 6SoloX board
MGS-512 [#1493] Fix es30 conformance failures related to glReadPixels
MGS-502 [#ccc] libCLC failure
MGS-500 [#ccc] Disable apitrace for static build
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-freescale/commit/8f74380a
This package has been tested with both X11 and Framebuffer backends:
# cd /usr/share/examples/viv_samples/vdk/
# ./tutorial7
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add hash files for the updated packages.
Also update the license of firmware-imx.
This patch is based on the Yocto equivalent:
5521d77c9f191b5808cb3bad4af9484ac
Those packages have been implicitely tested through gstreamer as the
plugins rely on them for vpu decoding for instance:
# gst-launch-0.10 playbin
# uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Current firmware-imx version no longer contains ath6k and ar3k firmware.
Cc: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Part of fimrware-imx were dropped in the new version, so we have less
legal-info to save.
Fixes:
http://autobuild.buildroot.org/results/59b/59b09152700a5839af46edb554e53981569f8921
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In order to be in line with new Freescale naming convention:
https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9
"Graphics recipe is renamed from gpu-viv-bin-mx6q to imx-gpu-viv"
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bump the Vivante drivers to 5.0.11.p4.1. The version scheme has changed
and 5.0.11.p4.1 is indeed the latest version.
In addition to the version bump, other changes are done to handle the
new directory organisation.
The work behind this commit was funded by ECA Group
<http://www.ecagroup.com>. ECA Group is the copyright owner of the
contributed code.
Changelog:
- Package version is changed to use Vivante version
- imx-gpu-viv includes separate sub packages for demos and tools
to support flexible package additions
- Graphics package is reorganized to improve library layout
- New GPU tool apitrace is added - supported only for X11 backend (not
supported yet)
- gpu-viv-g2d shares same package with imx-gpu-viv (not supported yet)
This patch is based on the Yocto equivalent:
74c86aa963
[Gary:
1- used the pkgconfig files provided in the package from now on
2- extend the commit log
3 - add a symlink for libGAL_egl.so as it wasn't working on X
- had to do a fixup as for some reason the lib is called libGAL_egl.dri.so
Without that last symlink change, the tutorial examples were
missing some symbols and qtbase wouldn't build.
This package has been tested with both X11 and Framebuffer backends;
# cd /usr/share/examples/viv_samples/vdk/
# ./tutorial7 ]
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This version now only applies to imx-lib and firmware-imx. All other
Freescale packages have their own version from now on.
This patch is based on the Yocto equivalent:
80ad0f2e54b12d193092
Those packages have been implicitely tested through gstreamer as the plugins
rely on them for vpu decoding for instance:
# gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- imx-vpu version changed to internal version
- VPU share memory file open fixes
- Upgrade ion usage
- Remove obey-variables patch -now included in release
This patch is based on the Yocto equivalent:
db343da3e4
The IOGetVirtMem return value patch has now been included into the upstream
package.
This package has been implicitely tested through gstreamer as the plugins
rely on it for vpu decoding:
# gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Move output selection to Config.in. It easier to add new backends selection
(wayland, directfb, ...).
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since gpu-viv-bin-mx6q is provided as binary package, there is no build
time dependencies.
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This approach is less error-prone during development.
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To compile with Vivante header and use framebuffer, it is necessary to
pass option -DEGL_API_FB. This option is declared in pkg-config file of
Vivante library. But many packages (especialy qt5 components) does not
consider these flags.
So instead of patching every packages that use EGL, it is more
convenient to patch Vivante headers.
This commit add #define EGL_API_FB on top of eglvivante.h when
necessary.
[Thomas: fix syntax error.]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345)
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
libz160 is provided as binary. We need EABI toolchain with glibc to use
it.
[Thomas: adjust dependency comment according to Yann suggestions.]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
An API for user space programs to perform 2D accelerated graphics operations
on AMD GPU
[Thomas:
- merge in the same patch the patch switching to the freescale-imx
extract helper.
- remove the dependency on "depends BR2_arm", since anyway the
package Config.in file is only included if we are using the i.MX51
or i.MX53 platforms.
- use full installation paths (i.e $(INSTALL) -D), and install
libraries 755, as it usually done.]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas:
- reword the comment of the new macro, and add details about the
expected arguments, as suggested by Yann E. Morin.
- rework the logic to move the files in $(@D), as it was simply not
working in the original patch. $(basename $(1)) was used to get the
filename without the extension, but it also contains the full
path. $(basename $(notdir $(1))) is needed.]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As the imx-vpu package needs the firmware to be loaded into the VPU it
makes sense to have the latter package selected by default.
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The Buildroot coding style defines one space around make assignments and
does not align the assignment symbols.
This patch does a bulk fix of offending packages. The package
infrastructures (or more in general assignments to calculated variable
names, like $(2)_FOO) are not touched.
Alignment of line continuation characters (\) is kept as-is.
The sed command used to do this replacement is:
find * -name "*.mk" | xargs sed -i \
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'
Brief explanation of this command:
^\([A-Z0-9a-z_]\+\) a regular variable at the beginning of the line
\([?:+]\?=\) any assignment character =, :=, ?=, +=
\([^\\]\+\) any string not containing a line continuation
\([^\\ \t]\+\s*\\\) string, optional whitespace, followed by a
line continuation character
\(\s*\\\) optional whitespace, followed by a line
continuation character
Hence, the first subexpression handles empty assignments, the second
handles regular assignments, the third handles regular assignments with
line continuation, and the fourth empty assignments with line
continuation.
This expression was tested on following test text: (initial tab not
included)
FOO = spaces before
FOO = spaces before and after
FOO = tab before
FOO = tab and spaces before
FOO = tab after
FOO = tab and spaces after
FOO = spaces and tab after
FOO = \
FOO = bar \
FOO = bar space \
FOO = \
GENIMAGE_DEPENDENCIES = host-pkgconf libconfuse
FOO += spaces before
FOO ?= spaces before and after
FOO :=
FOO =
FOO =
FOO =
FOO =
$(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
AT91BOOTSTRAP3_DEFCONFIG = \
AXEL_DISABLE_I18N=--i18n=0
After this bulk change, following manual fixups were done:
- fix line continuation alignment in cegui06 and spice (the sed
expression leaves the number of whitespace between the value and line
continuation character intact, but the whitespace before that could have
changed, causing misalignment.
- qt5base was reverted, as this package uses extensive alignment which
actually makes the code more readable.
Finally, the end result was manually reviewed.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Yann E. Morin <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk:
$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE))
so it is redundant.
This patch removes it from $(PKG)_SITE variable for BR consistency.
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As of 3.10.17-1.0.0 release, VPU code is now in its own package.
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: slightly rework the kconfig comment; fold the
imx-vpu patches into this changeset; add one missing license file]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Hadrien Boutteville <hadrien.boutteville@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
[yann.morin.1998@free.fr: split from the previous patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Hadrien Boutteville <hadrien.boutteville@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
That way all the i.MX packages can inherit from that information,
for example, the soon-to-be-introduced imx-vpu package.
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: the part about gpu-viv-bin-mx6q moved to
its own patch; rework the commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Hadrien Boutteville <hadrien.boutteville@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The include files from the FSL kernel are properly separated out in
uapi, so we must include that instead of the kernel-side headers.
imx-lib no longer includes VPU code and therefore is now free from
Freescale License. It is now LGPLv2.1+.
Also, it is now provided as a normal .tar.gz, so _SOURCE is no longer
needed. So, remove our custom _EXTRACT_CMDS.
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: _SOURCE is no longer needed, rework commit
log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Hadrien Boutteville <hadrien.boutteville@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bumping the version requires some heavy changes in the different
i.MX related packages. Instead of having a single huge patch, those
changes are split in smaller patches, one per affected package.
This has the inconvenient side-effect of breaking the build right
now with the bump; but it is better since the patches are easier to
understand.
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: expand commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Hadrien Boutteville <hadrien.boutteville@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The basic rule for a package is to have its options named
after the package name. There is no reason this should not
also be the case for virtual packages.
Besides, this will allow us to switch libegl to use the
soon-to-be-introduced virtual-package infrastructure.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Mike Zick <minimod@morethan.org>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The basic rule for a package is to have its options named
after the package name. There is no reason this should not
also be the case for virtual packages.
Besides, this will allow us to switch libgles to use the
soon-to-be-introduced virtual-package infrastructure.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Mike Zick <minimod@morethan.org>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch consolidates the URLs for various Freescale-supplied
packages to use FREESCALE_IMX_SITE.
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Reviewed-by: "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For the underlying reasons, see previous patch, titled:
package/opengl/libegl: switch to package-defined providers
Reported-by: David Corvoysier <david.corvoysier@orange.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It seems weird that the libegl package has to know all of the packages
that may provide the EGL implementation.
This also breaks implementation provided by packages in BR2_EXTERNAL,
since we can't easily depend on the order of packages before we can
derive the dependencies of libegl.
So, Arnout and I separately came up to the same conclusion: move the
dependency selection from out of libegl, and into each of the packages
that provides an EGL implementation. Here it is.
Since we no longer depend on the order packages are included, but on
values set at Kconfig-time, we can now have EGL providers in BR2_EXTERNAL.
Reported-by: David Corvoysier <david.corvoysier@orange.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch lines up the comments of packages that need a Linux kernel to be
built by buildroot, to the format:
foo needs a Linux kernel to be built
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch fixes the following whitespace problems in Config.in files:
- trailing whitespace
- spaces instead of tabs for indentation
- help text not indented with tab + 2 spaces
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:
config BR2_PACKAGE_A
depends on BR2_B
depends on BR2_LARGEFILE
depends on BR2_WCHAR
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
This comment should actually be:
comment "A needs a toolchain w/ largefile, wchar"
depends on BR2_B
depends on !BR2_LARGEFILE || !BR2_WCHAR
or if possible (typically when B is a package config option declared in that
same Config.in file):
if BR2_B
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
[other config options depending on B]
endif
Otherwise, the comment would be visible even though the other dependencies
are not met.
This patch adds such missing dependencies, and changes existing such
dependencies from
depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
depends on BR2_BASE_DEP
depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>