[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