From: Carlos Rafael Giani Date: Sun, 24 Aug 2014 19:39:48 +0000 (+0200) Subject: chromium: Add bbappend for GPU specific modifications and VPU support X-Git-Tag: 2.1~871 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=29a5955a6bd720a6a8c6072d46cc32c34c90185b;p=meta-freescale.git 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 Signed-off-by: Otavio Salvador --- diff --git a/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium-imx.inc b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium-imx.inc new file mode 100644 index 00000000..b204d0d5 --- /dev/null +++ b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium-imx.inc @@ -0,0 +1,48 @@ +DEPENDS_append = " libfslvpuwrap" + +# Additional imx code and patches are included in the chromium-imx git repository. +# The code below fetches this repository, copies the extra source over to the main +# chromium source directory, and applies the patches. + +CHROMIUM_IMX_BRANCH = "master" +CHROMIUM_IMX_SRCREV = "0aacc892d0977f691d683db1c1f1f6f9e33da911" +CHROMIUM_IMX_DESTSUFFIX = "chromium-imx-git" + +PATCH_BASE_DIR = "${WORKDIR}/${CHROMIUM_IMX_DESTSUFFIX}/patches" + +CHROMIUM_IMX_COMMON_PATCHES ?= " " +CHROMIUM_IMX_WAYLAND_PATCHES ?= " " + +SRC_URI += "git://github.com/Freescale/chromium-imx.git;destsuffix=${CHROMIUM_IMX_DESTSUFFIX};branch=${CHROMIUM_IMX_BRANCH};rev=${CHROMIUM_IMX_SRCREV}" + +do_unpack[postfuncs] += "copy_chromium_imx_files" +# using =+ instead of += to make sure add_chromium_imx_patches is +# executed before add_ozone_wayland_patches in the main recipe; +# this is necessary because add_chromium_imx_patches appends +# patches to the OZONE_WAYLAND_EXTRA_PATCHES variable +do_patch[prefuncs] =+ "add_chromium_imx_patches" + +# * component build is on by default to reduce memory usage while compiling and to +# make it easier to patch binaries on the targets if necessary +# * Lost context problems are not known to happen with Vivante GPUs, +# so it is safe to use ignore-lost-context +# * EGL is on by default due to the GPU on the i.MX6 +PACKAGECONFIG_append = " component-build use-egl ignore-lost-context" + +copy_chromium_imx_files() { + # sources in src/ are already organized in a manner + # that matches the subdirectories in the chromium + # source directory; just copy over the files in src/ + cp -r ${WORKDIR}/chromium-imx-git/src/* ${S}/ +} + +python add_chromium_imx_patches() { + d.appendVar('SRC_URI', ' ' + d.getVar('CHROMIUM_IMX_COMMON_PATCHES', 1)) + d.appendVar('OZONE_WAYLAND_EXTRA_PATCHES', ' ' + d.getVar('CHROMIUM_IMX_WAYLAND_PATCHES', 1)) +} + +# Necessary flags to enable support for h.264 and MP4 in Chromium +# (Parsing is done by ffmpeg) +EXTRA_OEGYP += "-Dproprietary_codecs=1 -Dffmpeg_branding=Chrome" + +COMPATIBLE_MACHINE = "(mx6)" diff --git a/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_35.0.1916.114.bbappend b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_35.0.1916.114.bbappend new file mode 100644 index 00000000..561aec2d --- /dev/null +++ b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_35.0.1916.114.bbappend @@ -0,0 +1,4 @@ +include chromium-imx.inc + +CHROMIUM_IMX_COMMON_PATCHES += "file://${PATCH_BASE_DIR}/common/0001-Enable-share-group-workaround-for-Vivante-GPUs.patch \ + file://${PATCH_BASE_DIR}/common/0002-Add-VPU-video-decode-accelerator-to-Chromium-35-GPU-.patch" diff --git a/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_37.0.2062.0.bbappend b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_37.0.2062.0.bbappend new file mode 100644 index 00000000..1eb64900 --- /dev/null +++ b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_37.0.2062.0.bbappend @@ -0,0 +1,5 @@ +include chromium-imx.inc + +CHROMIUM_IMX_COMMON_PATCHES += "file://${PATCH_BASE_DIR}/common/0001-Enable-share-group-workaround-for-Vivante-GPUs.patch \ + file://${PATCH_BASE_DIR}/common/0002-Add-VPU-video-decode-accelerator-to-Chromium-37-GPU-.patch" +CHROMIUM_IMX_WAYLAND_PATCHES += "file://${PATCH_BASE_DIR}/wayland/0001-Modify-eglwayland-versions-for-Vivante-GPUs.patch"