[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

kbr at google.com kbr at google.com
Wed Dec 22 16:31:07 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 013d852728264416762032b955306368f370c486
Author: kbr at google.com <kbr at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 24 23:22:34 2010 +0000

    2010-11-24  Kenneth Russell  <kbr at google.com>
    
            Reviewed by Darin Fisher.
    
            [chromium] Disable antialiasing for compositor
            https://bugs.webkit.org/show_bug.cgi?id=50039
    
            * src/WebViewImpl.cpp:
            (WebCore::getCompositorContextAttributes):
            (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
            (WebKit::WebViewImpl::graphicsContext3D):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72703 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 912ab7f..be85cca 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,15 @@
+2010-11-24  Kenneth Russell  <kbr at google.com>
+
+        Reviewed by Darin Fisher.
+
+        [chromium] Disable antialiasing for compositor
+        https://bugs.webkit.org/show_bug.cgi?id=50039
+
+        * src/WebViewImpl.cpp:
+        (WebCore::getCompositorContextAttributes):
+        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+        (WebKit::WebViewImpl::graphicsContext3D):
+
 2010-11-24  Satish Sampath  <satish at chromium.org>
 
         Reviewed by Steve Block.
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index 12a01b8..c6f227e 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -139,6 +139,27 @@
 
 using namespace WebCore;
 
+namespace {
+
+GraphicsContext3D::Attributes getCompositorContextAttributes()
+{
+    // Explicitly disable antialiasing for the compositor. As of the time of
+    // this writing, the only platform that supported antialiasing for the
+    // compositor was Mac OS X, because the on-screen OpenGL context creation
+    // code paths on Windows and Linux didn't yet have multisampling support.
+    // Mac OS X essentially always behaves as though it's rendering offscreen.
+    // Multisampling has a heavy cost especially on devices with relatively low
+    // fill rate like most notebooks, and the Mac implementation would need to
+    // be optimized to resolve directly into the IOSurface shared between the
+    // GPU and browser processes. For these reasons and to avoid platform
+    // disparities we explicitly disable antialiasing.
+    GraphicsContext3D::Attributes attributes;
+    attributes.antialias = false;
+    return attributes;
+}
+
+} // anonymous namespace
+
 namespace WebKit {
 
 // Change the text zoom level by kTextSizeMultiplierRatio each time the user
@@ -2376,7 +2397,7 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
 
     RefPtr<GraphicsContext3D> context = m_temporaryOnscreenGraphicsContext3D.release();
     if (!context) {
-        context = GraphicsContext3D::create(GraphicsContext3D::Attributes(), m_page->chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);
+        context = GraphicsContext3D::create(getCompositorContextAttributes(), m_page->chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);
         if (context)
             context->reshape(std::max(1, m_size.width), std::max(1, m_size.height));
     }
@@ -2513,8 +2534,7 @@ WebGraphicsContext3D* WebViewImpl::graphicsContext3D()
         else if (m_temporaryOnscreenGraphicsContext3D)
             context = m_temporaryOnscreenGraphicsContext3D.get();
         else {
-            GraphicsContext3D::Attributes attributes;
-            m_temporaryOnscreenGraphicsContext3D = GraphicsContext3D::create(GraphicsContext3D::Attributes(), m_page->chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);
+            m_temporaryOnscreenGraphicsContext3D = GraphicsContext3D::create(getCompositorContextAttributes(), m_page->chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);
             if (m_temporaryOnscreenGraphicsContext3D)
                 m_temporaryOnscreenGraphicsContext3D->reshape(std::max(1, m_size.width), std::max(1, m_size.height));
             context = m_temporaryOnscreenGraphicsContext3D.get();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list