Forward port rev 1195271:

Deactivate OpenGL compositing self-check.
See http://svn.reviewboard.kde.org/r/5774/
CCBUG: 253357

svn path=/trunk/KDE/kdebase/workspace/; revision=1195272
This commit is contained in:
Martin Gräßlin 2010-11-10 18:23:04 +00:00
parent b4413917cc
commit ef605d6475

View file

@ -190,6 +190,8 @@ SceneOpenGL::SceneOpenGL( Workspace* ws )
kError( 1212 ) << "OpenGL compositing setup failed"; kError( 1212 ) << "OpenGL compositing setup failed";
return; // error return; // error
} }
// selfcheck is broken (see Bug 253357)
#if 0
// Do self-check immediatelly during compositing setup only when it's not KWin startup // Do self-check immediatelly during compositing setup only when it's not KWin startup
// at the same time (in other words, only when activating compositing using the kcm). // at the same time (in other words, only when activating compositing using the kcm).
// Currently selfcheck causes bad flicker (due to X mapping the overlay window // Currently selfcheck causes bad flicker (due to X mapping the overlay window
@ -200,6 +202,7 @@ SceneOpenGL::SceneOpenGL( Workspace* ws )
return; return;
selfCheckDone = true; selfCheckDone = true;
} }
#endif
kDebug( 1212 ) << "DB:" << db << ", TFP:" << tfp_mode << ", SHM:" << shm_mode kDebug( 1212 ) << "DB:" << db << ", TFP:" << tfp_mode << ", SHM:" << shm_mode
<< ", Direct:" << bool( glXIsDirect( display(), ctxbuffer )) << endl; << ", Direct:" << bool( glXIsDirect( display(), ctxbuffer )) << endl;
init_ok = true; init_ok = true;
@ -766,18 +769,23 @@ void SceneOpenGL::paint( QRegion damage, ToplevelList toplevels )
ungrabXServer(); // ungrab before flushBuffer(), it may wait for vsync ungrabXServer(); // ungrab before flushBuffer(), it may wait for vsync
if( wspace->overlayWindow()) // show the window only after the first pass, since if( wspace->overlayWindow()) // show the window only after the first pass, since
wspace->showOverlay(); // that pass may take long wspace->showOverlay(); // that pass may take long
// selfcheck is broken (see Bug 253357)
#if 0
if( !selfCheckDone ) if( !selfCheckDone )
{ {
selfCheckSetup(); selfCheckSetup();
damage |= selfCheckRegion(); damage |= selfCheckRegion();
} }
#endif
flushBuffer( mask, damage ); flushBuffer( mask, damage );
#if 0
if( !selfCheckDone ) if( !selfCheckDone )
{ {
if( !selfCheckFinish()) if( !selfCheckFinish())
QTimer::singleShot( 0, Workspace::self(), SLOT( finishCompositing())); QTimer::singleShot( 0, Workspace::self(), SLOT( finishCompositing()));
selfCheckDone = true; selfCheckDone = true;
} }
#endif
// do cleanup // do cleanup
stacking_order.clear(); stacking_order.clear();
checkGLError( "PostPaint" ); checkGLError( "PostPaint" );