Title: [102783] trunk/Source/WebCore
- Revision
- 102783
- Author
- senorbla...@chromium.org
- Date
- 2011-12-14 08:45:51 -0800 (Wed, 14 Dec 2011)
Log Message
CSS Filters should support GPU acceleration
https://bugs.webkit.org/show_bug.cgi?id=74441
Reviewed by Darin Adler.
Will be covered by existing CSS filters tests, when run in GPU mode.
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::prepare):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffect):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (102782 => 102783)
--- trunk/Source/WebCore/ChangeLog 2011-12-14 16:37:19 UTC (rev 102782)
+++ trunk/Source/WebCore/ChangeLog 2011-12-14 16:45:51 UTC (rev 102783)
@@ -1,3 +1,17 @@
+2011-12-14 Stephen White <senorbla...@chromium.org>
+
+ CSS Filters should support GPU acceleration
+ https://bugs.webkit.org/show_bug.cgi?id=74441
+
+ Reviewed by Darin Adler.
+
+ Will be covered by existing CSS filters tests, when run in GPU mode.
+
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore::FilterEffectRenderer::prepare):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateOrRemoveFilterEffect):
+
2011-12-14 Brian Salomon <bsalo...@google.com>
[CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
Modified: trunk/Source/WebCore/rendering/FilterEffectRenderer.cpp (102782 => 102783)
--- trunk/Source/WebCore/rendering/FilterEffectRenderer.cpp 2011-12-14 16:37:19 UTC (rev 102782)
+++ trunk/Source/WebCore/rendering/FilterEffectRenderer.cpp 2011-12-14 16:45:51 UTC (rev 102783)
@@ -244,7 +244,7 @@
// source image sizes set. We just need to attach the graphic
// buffer if we have not yet done so.
if (!m_graphicsBufferAttached) {
- setSourceImage(ImageBuffer::create(IntSize(m_sourceDrawingRegion.width(), m_sourceDrawingRegion.height())));
+ setSourceImage(ImageBuffer::create(IntSize(m_sourceDrawingRegion.width(), m_sourceDrawingRegion.height()), ColorSpaceDeviceRGB, renderingMode()));
m_graphicsBufferAttached = true;
}
m_sourceGraphic->clearResult();
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (102782 => 102783)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2011-12-14 16:37:19 UTC (rev 102782)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2011-12-14 16:45:51 UTC (rev 102783)
@@ -88,6 +88,7 @@
#include "ScaleTransformOperation.h"
#include "Scrollbar.h"
#include "ScrollbarTheme.h"
+#include "Settings.h"
#include "SourceGraphic.h"
#include "TextStream.h"
#include "TransformationMatrix.h"
@@ -4428,8 +4429,11 @@
void RenderLayer::updateOrRemoveFilterEffect()
{
if (hasFilter()) {
- if (!m_filter)
+ if (!m_filter) {
m_filter = FilterEffectRenderer::create();
+ RenderingMode renderingMode = renderer()->frame()->page()->settings()->acceleratedFiltersEnabled() ? Accelerated : Unaccelerated;
+ m_filter->setRenderingMode(renderingMode);
+ }
m_filter->build(renderer()->style()->filter(), toRenderBox(renderer())->borderBoxRect());
} else {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes