summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/WebCore/rendering/RenderLayer.cpp10
-rw-r--r--Source/WebCore/rendering/RenderLayerCompositor.cpp6
2 files changed, 16 insertions, 0 deletions
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index 2d0b56e79..7d65190b4 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -330,6 +330,8 @@ bool RenderLayer::canRender3DTransforms() const
{
#if USE(ACCELERATED_COMPOSITING)
return compositor()->canRender3DTransforms();
+#elif PLATFORM(QT) && ENABLE(3D_RENDERING)
+ return true;
#else
return false;
#endif
@@ -3999,7 +4001,11 @@ void RenderLayer::paintLayerByApplyingTransform(GraphicsContext* context, const
// Apply the transform.
GraphicsContextStateSaver stateSaver(*context);
+#if PLATFORM(QT) && ENABLE(3D_RENDERING)
+ context->concat3DTransform(transform);
+#else
context->concatCTM(transform.toAffineTransform());
+#endif
// Now do a paint with the root layer shifted to be us.
LayerPaintingInfo transformedPaintingInfo(this, enclosingIntRect(transform.inverse().mapRect(paintingInfo.paintDirtyRect)), paintingInfo.paintBehavior,
@@ -4373,7 +4379,11 @@ void RenderLayer::paintChildLayerIntoColumns(RenderLayer* childLayer, GraphicsCo
transform.translateRight(roundToInt(childOffset.x() + offset.width()), roundToInt(childOffset.y() + offset.height()));
// Apply the transform.
+#if PLATFORM(QT) && ENABLE(3D_RENDERING)
+ context->concat3DTransform(transform);
+#else
context->concatCTM(transform.toAffineTransform());
+#endif
// Now do a paint with the root layer shifted to be the next multicol block.
LayerPaintingInfo columnPaintingInfo(paintingInfo);
diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp
index da390cb75..91ee28ae7 100644
--- a/Source/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp
@@ -325,7 +325,13 @@ void RenderLayerCompositor::cacheAcceleratedCompositingFlags()
bool RenderLayerCompositor::canRender3DTransforms() const
{
+#if !ENABLE(3D_RENDERING)
+ return false;
+#elif PLATFORM(QT)
+ return true;
+#else
return hasAcceleratedCompositing() && (m_compositingTriggers & ChromeClient::ThreeDTransformTrigger);
+#endif
}
void RenderLayerCompositor::setCompositingLayersNeedRebuild(bool needRebuild)