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): chromium: Add component-build PACKAGECONFIG option chromium: Add variable to contain extra command-line arguments chromium: Add use-egl PACKAGECONFIG option chromium: Add ignore-lost-context PACKAGECONFIG option .../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 | 25 +++++++++++++++-- 4 files changed, 67 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