summaryrefslogtreecommitdiffstats
path: root/browser-layer
diff options
context:
space:
mode:
authorCarlos Rafael Giani <dv@pseudoterminal.org>2014-08-24 21:39:48 +0200
committerOtavio Salvador <otavio@ossystems.com.br>2014-08-25 10:23:33 -0300
commit3dc5823ecb9cc402c1d3bcfdbf48ac45d854e562 (patch)
tree969ea3d94bd36d66e90ee02964ed5e174e216e96 /browser-layer
parent79bec9dd83424d4ec2d4d1fa945b33a6b1fda00d (diff)
downloadmeta-fsl-arm-3dc5823ecb9cc402c1d3bcfdbf48ac45d854e562.tar.gz
chromium: Add bbappend for GPU specific modifications and VPU support
* Adds ozone-wayland patches which modify the required EGL versions in the GYP files * Turns on h.264 and MP4 support in Chromium's FFmpeg copy * Enables a workaround for the Vivante GPU that prevents translucent canvas regions to show up with a blue color * Adds hardware-accelerated video decoding using the VPU by fetching chromium-imx sources and integrating them into the Chromium source tree and the GYP files Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'browser-layer')
-rw-r--r--browser-layer/recipes-browser/chromium/chromium-imx.inc48
-rw-r--r--browser-layer/recipes-browser/chromium/chromium_35.0.1916.114.bbappend4
-rw-r--r--browser-layer/recipes-browser/chromium/chromium_37.0.2062.0.bbappend5
3 files changed, 57 insertions, 0 deletions
diff --git a/browser-layer/recipes-browser/chromium/chromium-imx.inc b/browser-layer/recipes-browser/chromium/chromium-imx.inc
new file mode 100644
index 0000000..b204d0d
--- /dev/null
+++ b/browser-layer/recipes-browser/chromium/chromium-imx.inc
@@ -0,0 +1,48 @@
1DEPENDS_append = " libfslvpuwrap"
2
3# Additional imx code and patches are included in the chromium-imx git repository.
4# The code below fetches this repository, copies the extra source over to the main
5# chromium source directory, and applies the patches.
6
7CHROMIUM_IMX_BRANCH = "master"
8CHROMIUM_IMX_SRCREV = "0aacc892d0977f691d683db1c1f1f6f9e33da911"
9CHROMIUM_IMX_DESTSUFFIX = "chromium-imx-git"
10
11PATCH_BASE_DIR = "${WORKDIR}/${CHROMIUM_IMX_DESTSUFFIX}/patches"
12
13CHROMIUM_IMX_COMMON_PATCHES ?= " "
14CHROMIUM_IMX_WAYLAND_PATCHES ?= " "
15
16SRC_URI += "git://github.com/Freescale/chromium-imx.git;destsuffix=${CHROMIUM_IMX_DESTSUFFIX};branch=${CHROMIUM_IMX_BRANCH};rev=${CHROMIUM_IMX_SRCREV}"
17
18do_unpack[postfuncs] += "copy_chromium_imx_files"
19# using =+ instead of += to make sure add_chromium_imx_patches is
20# executed before add_ozone_wayland_patches in the main recipe;
21# this is necessary because add_chromium_imx_patches appends
22# patches to the OZONE_WAYLAND_EXTRA_PATCHES variable
23do_patch[prefuncs] =+ "add_chromium_imx_patches"
24
25# * component build is on by default to reduce memory usage while compiling and to
26# make it easier to patch binaries on the targets if necessary
27# * Lost context problems are not known to happen with Vivante GPUs,
28# so it is safe to use ignore-lost-context
29# * EGL is on by default due to the GPU on the i.MX6
30PACKAGECONFIG_append = " component-build use-egl ignore-lost-context"
31
32copy_chromium_imx_files() {
33 # sources in src/ are already organized in a manner
34 # that matches the subdirectories in the chromium
35 # source directory; just copy over the files in src/
36 cp -r ${WORKDIR}/chromium-imx-git/src/* ${S}/
37}
38
39python add_chromium_imx_patches() {
40 d.appendVar('SRC_URI', ' ' + d.getVar('CHROMIUM_IMX_COMMON_PATCHES', 1))
41 d.appendVar('OZONE_WAYLAND_EXTRA_PATCHES', ' ' + d.getVar('CHROMIUM_IMX_WAYLAND_PATCHES', 1))
42}
43
44# Necessary flags to enable support for h.264 and MP4 in Chromium
45# (Parsing is done by ffmpeg)
46EXTRA_OEGYP += "-Dproprietary_codecs=1 -Dffmpeg_branding=Chrome"
47
48COMPATIBLE_MACHINE = "(mx6)"
diff --git a/browser-layer/recipes-browser/chromium/chromium_35.0.1916.114.bbappend b/browser-layer/recipes-browser/chromium/chromium_35.0.1916.114.bbappend
new file mode 100644
index 0000000..561aec2
--- /dev/null
+++ b/browser-layer/recipes-browser/chromium/chromium_35.0.1916.114.bbappend
@@ -0,0 +1,4 @@
1include chromium-imx.inc
2
3CHROMIUM_IMX_COMMON_PATCHES += "file://${PATCH_BASE_DIR}/common/0001-Enable-share-group-workaround-for-Vivante-GPUs.patch \
4 file://${PATCH_BASE_DIR}/common/0002-Add-VPU-video-decode-accelerator-to-Chromium-35-GPU-.patch"
diff --git a/browser-layer/recipes-browser/chromium/chromium_37.0.2062.0.bbappend b/browser-layer/recipes-browser/chromium/chromium_37.0.2062.0.bbappend
new file mode 100644
index 0000000..1eb6490
--- /dev/null
+++ b/browser-layer/recipes-browser/chromium/chromium_37.0.2062.0.bbappend
@@ -0,0 +1,5 @@
1include chromium-imx.inc
2
3CHROMIUM_IMX_COMMON_PATCHES += "file://${PATCH_BASE_DIR}/common/0001-Enable-share-group-workaround-for-Vivante-GPUs.patch \
4 file://${PATCH_BASE_DIR}/common/0002-Add-VPU-video-decode-accelerator-to-Chromium-37-GPU-.patch"
5CHROMIUM_IMX_WAYLAND_PATCHES += "file://${PATCH_BASE_DIR}/wayland/0001-Modify-eglwayland-versions-for-Vivante-GPUs.patch"