All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-browser][PATCH 0/4] Introduce EGL/GLES and component build patches for Chromium
Date: Mon, 28 Apr 2014 06:05:18 +0200	[thread overview]
Message-ID: <20140428040518.GI2486@jama> (raw)
In-Reply-To: <1398597711-17825-1-git-send-email-dv@pseudoterminal.org>

[-- Attachment #1: Type: text/plain, Size: 5006 bytes --]

On Sun, Apr 27, 2014 at 01:21:47PM +0200, Carlos Rafael Giani wrote:
> This set of patches extends the chromium recipe to allow for EGL&GLESv2 based 2D rendering,
> considerably improving performance. This also adds hardware-accelerated WebGL support.
> 
> Three new PACKAGECONFIG for chromium are introduced:

Also fails when PACKAGECONFIG is empty:

+ tee -a log.world.20140428_030644.log/bitbake.world.log
NOTE: Started PRServer with DBfile: /home/jenkins/oe/shr-core-branches/shr-core/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 52990, PID: 32499
Parsing recipes...ERROR: Error executing a python function in <code>:

The stack trace of python calls that resulted in this exception/failure was:
File: '<code>', lineno: 9, function: <module>
     0005:__anon_247__home_jenkins_oe_shr_core_branches_shr_core_openembedded_core_meta_classes_package_ipk_bbclass(d)
     0006:__anon_20__home_jenkins_oe_shr_core_branches_shr_core_openembedded_core_meta_classes_debian_bbclass(d)
     0007:__anon_33__home_jenkins_oe_shr_core_branches_shr_core_openembedded_core_meta_classes_devshell_bbclass(d)
     0008:__anon_80__home_jenkins_oe_shr_core_branches_shr_core_openembedded_core_meta_classes_sstate_bbclass(d)
 *** 0009:__anon_46__home_jenkins_oe_shr_core_branches_shr_core_meta_browser_recipes_browser_chromium_chromium_35_0_1883_0_bb(d)
File: '__anon_46__home_jenkins_oe_shr_core_branches_shr_core_meta_browser_recipes_browser_chromium_chromium_35_0_1883_0_bb', lineno: 3, function: __anon_46__home_jenkins_oe_shr_core_branches_shr_core_meta_browser_recipes_browser_chromium_chromium_35_0_1883_0_bb
     0001:def __anon_46__home_jenkins_oe_shr_core_branches_shr_core_meta_browser_recipes_browser_chromium_chromium_35_0_1883_0_bb(d):
     0002:    pkgconfig = d.getVar('PACKAGECONFIG', True)
 *** 0003:    if 'use-egl' in pkgconfig.split():
     0004:        d.appendVar("DEPENDS", " virtual/egl virtual/libgles2")
     0005:
Exception: AttributeError: 'NoneType' object has no attribute 'split'

> * "component-build" : If set, Chromium is built in component mode. Each subsystem of Chromium
>   ends up in a separate shared object. The alternative is the regular mode, which links everything
>   into one big binary. Component builds are useful for development and testing, and consumes
>   significantly less RAM during building. It is essential when building Chromium on a 32-bit OS.
> 
> * "use-egl" : Ordinarily, Chromium will try to use GLX and regular (= Desktop) OpenGL for 2D
>   acceleration. If that fails, software rendering is used. If use-egl is set, it will use EGL
>   instead of GLX and OpenGL ES 2.0 instead of regular OpenGL. This is very useful if the
>   target platform provides hardware acceleration for this API. Chromium will then render all 2D
>   components as well as WebGL contents with hardware acceleration, Canvas being an exception
>   (see below).
> 
> * "ignore-lost-context" : Without this flag, HTML Canvas will not be accelerated, even with the
>   "use-egl" flag set. The reason for this is a conceptual problem: HTML Canvas expects the
>   backing store of the canvas to persist until the web page goes away. But if the backing store
>   is a GLES texture, then in theory the associated EGL context could get lost (for example, during
>   a power management cycle), and the texture along with it. This violates requirements for canvas.
>   So, one has to choose: either remain fully standards compliant, and have no acceleration, or
>   have acceleration, and risk losing the Canvas content. Note that context losses do not happen on
>   all platforms (they haven't been observed with Vivante GPUs for example, and internals of its
>   galcore module do not show anything that could cause a lost context). But since these recipes
>   do not depend on a specific platform, this option must be explicitely enabled.
> 
> Carlos Rafael Giani (4):
>   Add component-build PACKAGECONFIG option
>   Add variable to contain extra command-line arguments
>   Add use-egl PACKAGECONFIG to let chromium use EGL automatically
>   Add ignore-lost-context PACKAGECONFIG to ignore lost EGL contexts
> 
>  .../chromium/chromium/component-build.gypi         |  5 ++++
>  recipes-browser/chromium/chromium/google-chrome    | 11 +++++---
>  .../remove-linux-accel-canvas-from-blacklist.patch | 32 ++++++++++++++++++++++
>  recipes-browser/chromium/chromium_35.0.1883.0.bb   | 27 ++++++++++++++++--
>  4 files changed, 69 insertions(+), 6 deletions(-)
>  create mode 100644 recipes-browser/chromium/chromium/component-build.gypi
>  create mode 100644 recipes-browser/chromium/chromium/remove-linux-accel-canvas-from-blacklist.patch
> 
> -- 
> 1.8.3.2
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

      parent reply	other threads:[~2014-04-28  4:05 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-27 11:21 [meta-browser][PATCH 0/4] Introduce EGL/GLES and component build patches for Chromium Carlos Rafael Giani
2014-04-27 11:21 ` [meta-browser][PATCH 1/4] Add component-build PACKAGECONFIG option Carlos Rafael Giani
2014-04-27 11:21 ` [meta-browser][PATCH 2/4] Add variable to contain extra command-line arguments Carlos Rafael Giani
2014-04-28 15:17   ` Otavio Salvador
2014-04-27 11:21 ` [meta-browser][PATCH 3/4] Add use-egl PACKAGECONFIG to let chromium use EGL automatically Carlos Rafael Giani
2014-04-28 15:14   ` Otavio Salvador
2014-04-27 11:21 ` [meta-browser][PATCH 4/4] Add ignore-lost-context PACKAGECONFIG to ignore lost EGL contexts Carlos Rafael Giani
2014-04-28  3:01 ` [meta-browser][PATCH 0/4] Introduce EGL/GLES and component build patches for Chromium Martin Jansa
2014-04-28  4:05 ` Martin Jansa [this message]

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=20140428040518.GI2486@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.