diff options
| -rw-r--r-- | Source/WebCore/rendering/RenderLayer.cpp | 10 | ||||
| -rw-r--r-- | Source/WebCore/rendering/RenderLayerCompositor.cpp | 6 |
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) |
