Let's say the copy buffer hack for old nvidia drivers is not necessary these days.
svn path=/trunk/KDE/kdebase/workspace/; revision=689095
This commit is contained in:
parent
263defdb87
commit
f1108dd13a
2 changed files with 1 additions and 6 deletions
|
@ -89,7 +89,6 @@ GLXDrawable SceneOpenGL::glxbuffer = None;
|
||||||
GLXDrawable SceneOpenGL::last_pixmap = None;
|
GLXDrawable SceneOpenGL::last_pixmap = None;
|
||||||
bool SceneOpenGL::tfp_mode; // using glXBindTexImageEXT (texture_from_pixmap)
|
bool SceneOpenGL::tfp_mode; // using glXBindTexImageEXT (texture_from_pixmap)
|
||||||
bool SceneOpenGL::db; // destination drawable is double-buffered
|
bool SceneOpenGL::db; // destination drawable is double-buffered
|
||||||
bool SceneOpenGL::copy_buffer_hack; // workaround for nvidia < 1.0-9xxx drivers
|
|
||||||
bool SceneOpenGL::shm_mode;
|
bool SceneOpenGL::shm_mode;
|
||||||
#ifdef HAVE_XSHM
|
#ifdef HAVE_XSHM
|
||||||
XShmSegmentInfo SceneOpenGL::shm;
|
XShmSegmentInfo SceneOpenGL::shm;
|
||||||
|
@ -214,9 +213,6 @@ bool SceneOpenGL::selectMode()
|
||||||
}
|
}
|
||||||
if( !initDrawableConfigs())
|
if( !initDrawableConfigs())
|
||||||
return false;
|
return false;
|
||||||
// use copy buffer hack from glcompmgr (called COPY_BUFFER there) - nvidia drivers older than
|
|
||||||
// 1.0-9xxx don't update pixmaps properly, so do a copy first
|
|
||||||
copy_buffer_hack = !tfp_mode && !shm_mode; // TODO detect that it's nvidia < 1.0-9xxx driver
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1062,7 +1058,7 @@ bool SceneOpenGL::Window::bindTexture()
|
||||||
Client* c = dynamic_cast< Client* >( toplevel );
|
Client* c = dynamic_cast< Client* >( toplevel );
|
||||||
bool alpha_clear = c != NULL && c->hasAlpha() && !c->noBorder();
|
bool alpha_clear = c != NULL && c->hasAlpha() && !c->noBorder();
|
||||||
bool alpha_clear_copy = true;
|
bool alpha_clear_copy = true;
|
||||||
bool copy_buffer = (( alpha_clear && alpha_clear_copy ) || copy_buffer_hack );
|
bool copy_buffer = ( alpha_clear && alpha_clear_copy );
|
||||||
if( copy_buffer )
|
if( copy_buffer )
|
||||||
{
|
{
|
||||||
Pixmap p2 = XCreatePixmap( display(), pix, toplevel->width(), toplevel->height(), toplevel->depth());
|
Pixmap p2 = XCreatePixmap( display(), pix, toplevel->width(), toplevel->height(), toplevel->depth());
|
||||||
|
|
|
@ -75,7 +75,6 @@ class SceneOpenGL
|
||||||
static GLXDrawable last_pixmap; // for a workaround in bindTexture()
|
static GLXDrawable last_pixmap; // for a workaround in bindTexture()
|
||||||
static bool tfp_mode;
|
static bool tfp_mode;
|
||||||
static bool shm_mode;
|
static bool shm_mode;
|
||||||
static bool copy_buffer_hack;
|
|
||||||
QHash< Toplevel*, Window* > windows;
|
QHash< Toplevel*, Window* > windows;
|
||||||
#ifdef HAVE_XSHM
|
#ifdef HAVE_XSHM
|
||||||
static XShmSegmentInfo shm;
|
static XShmSegmentInfo shm;
|
||||||
|
|
Loading…
Reference in a new issue