[Webkit-unassigned] [Bug 122589] Graphics backend without hardware accelerated compositing, and compositing disabled by Setting, causes the CSS3 Transform discarding perspective component, only affine part remains
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Oct 14 21:09:25 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=122589
--- Comment #5 from Chen Zhixiang <chenzx at cn.fujitsu.com> 2013-10-14 21:08:11 PST ---
I've fixed this problem for Qt-4.8 port with xlibgl but combining 2 modifications:
(1)enforce hardware accelerated compositing:
gedit Source/WebCore/rendering/RenderLayerCompositor.cpp &
void RenderLayerCompositor::cacheAcceleratedCompositingFlags()
{
bool hasAcceleratedCompositing = false;
bool showDebugBorders = false;
bool showRepaintCounter = false;
bool forceCompositingMode = false;
if (Settings* settings = m_renderView->document()->settings()) {
> hasAcceleratedCompositing = true; //settings->acceleratedCompositingEnabled();
...
(2)Use TextureMapperImageBuffer instead of TextureMapperGL
gedit Source/WebKit/qt/WebCoreSupport/PageClientQt.cpp &
#if USE(TEXTURE_MAPPER)
void PageClientQGraphicsWidget::setRootGraphicsLayer(GraphicsLayer* layer)
{
if (layer) {
TextureMapperLayerClient = adoptPtr(new TextureMapperLayerClientQt(page->mainFrame(), layer));
#if USE(TEXTURE_MAPPER_GL)
QGraphicsView* graphicsView = view->scene()->views()[0];
if (graphicsView && graphicsView->viewport() && graphicsView->viewport()->inherits("QGLWidget")) {
printf("setRootGraphicsLayer: USE(TEXTURE_MAPPER) & call TextureMapper::create(TextureMapper::OpenGLMode)\n");
//TextureMapperLayerClient->setTextureMapper(TextureMapper::create(TextureMapper::OpenGLMode));
〉 TextureMapperLayerClient->setTextureMapper(TextureMapper::create());
return;
}
#endif
printf("setRootGraphicsLayer: USE(TEXTURE_MAPPER) & call TextureMapper::create()\n");
TextureMapperLayerClient->setTextureMapper(TextureMapper::create());
return;
}
TextureMapperLayerClient.clear();
}
The key point is, to make perpective transform which is NOT 2D-affine transform effectful, we MUST use the TextureMapperImageBuffer implementation!
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list