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:

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

Reply via email to