[oe-commits] Koen Kooi : firefox 3.0.1: make it go faster in 16bpp modes

git version control git at git.openembedded.org
Fri Jun 5 16:11:21 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: d76be98f7b1aabdbd32dd9a50b0c135c139de9ec
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=d76be98f7b1aabdbd32dd9a50b0c135c139de9ec

Author: Koen Kooi <koen at openembedded.org>
Date:   Wed Jun  3 13:55:17 2009 +0200

firefox 3.0.1: make it go faster in 16bpp modes

---

 recipes/mozilla/files/use-native-bpp.patch |   37 ++++++++++++++++++++++++++++
 recipes/mozilla/firefox_3.0.1.bb           |    3 +-
 2 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/recipes/mozilla/files/use-native-bpp.patch b/recipes/mozilla/files/use-native-bpp.patch
new file mode 100644
index 0000000..4b0f0d1
--- /dev/null
+++ b/recipes/mozilla/files/use-native-bpp.patch
@@ -0,0 +1,37 @@
+Subject: [PATCH] Use native format for storing non-transparent pictures.
+
+When using 16-bit color depth for desktop, it is preferable
+to also use 16bpp format for images to get better performance.
+As an additional bonus, the browser uses less memory when
+viewing pages with lots of images.
+
+Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=386440
+---
+ gfx/thebes/src/gfxPlatformGtk.cpp |   11 +++++++++--
+ 1 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/gfx/thebes/src/gfxPlatformGtk.cpp b/gfx/thebes/src/gfxPlatformGtk.cpp
+index 39e09e7..78e6002 100644
+--- a/gfx/thebes/src/gfxPlatformGtk.cpp
++++ b/gfx/thebes/src/gfxPlatformGtk.cpp
+@@ -142,8 +142,15 @@ gfxPlatformGtk::CreateOffscreenSurface(const gfxIntSize& size,
+ 
+     if (!UseGlitz()) {
+         GdkPixmap* pixmap = nsnull;
+-        XRenderPictFormat* xrenderFormat =
+-            XRenderFindStandardFormat(display, xrenderFormatID);
++        XRenderPictFormat* xrenderFormat = nsnull;
++
++        if (xrenderFormatID == PictStandardRGB24) {
++            // Actually we want not strictly RGB24, but the fastest non-alpha format 
++            xrenderFormat = XRenderFindVisualFormat(display, GDK_VISUAL_XVISUAL(gdk_visual_get_system()));
++        }
++
++        if (!xrenderFormat)
++            xrenderFormat = XRenderFindStandardFormat(display, xrenderFormatID);
+ 
+         if (!xrenderFormat) {
+             // We don't have Render; see if we can just create a pixmap
+-- 
+1.5.6.5
+
diff --git a/recipes/mozilla/firefox_3.0.1.bb b/recipes/mozilla/firefox_3.0.1.bb
index 24927c7..f3e52a0 100644
--- a/recipes/mozilla/firefox_3.0.1.bb
+++ b/recipes/mozilla/firefox_3.0.1.bb
@@ -1,5 +1,5 @@
 DEPENDS += "cairo"
-PR = "r8"
+PR = "r9"
 
 SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}-source.tar.bz2 \
 	file://jsautocfg.h \
@@ -13,6 +13,7 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/
 	file://wchart.diff;patch=1 \
 	file://0001-Remove-Werror-from-build.patch;patch=1 \
 	file://0002-Fix-security-cross-compile-cpu-detection-error.patch;patch=1 \
+	file://use-native-bpp.patch;patch=1 \
 "
 
 S = "${WORKDIR}/mozilla"





More information about the Openembedded-commits mailing list