[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: XaaNoOffscreenPixmaps
From:       Philip Falkner <philip.falkner () gmail ! com>
Date:       2006-11-21 19:55:21
Message-ID: 200611211455.21741.philip.falkner () gmail ! com
[Download RAW message or body]

On Tuesday 21 November 2006 10:23, Lubos Lunak wrote:
> On Monday 20 November 2006 16:31, Lubos Lunak wrote:
> >  Hello,
> >
> >  I've finally managed to get kwin_composite running on this ATI machine,
> > kind of :-/. It's with the radeon driver and this 9600 (RV350 AP) is
> > pretty slow with it. Moreover I get redraw problems with it from time to
> > time. However, unless you're more lucky with the performance than me, I'd
> > like to point out to you option "XaaNoOffscreenPixmaps", see "man
> > xorg.conf". It's somewhat more bearable with it, although still no match
> > even for my old Geforce2 with the NVidia driver.
> >
> >  Does somebody use the fglrx driver? It does't seem to work for me with
> > X.Org 7.2. Also, how do you get AIGLX working? It seems I can get AIGLX
> > itself working, however I cannot use TFP because of it not being present
> > in the MESA libGL library. Have you built your own MESA library or
> > something?
>
>  Ok, there was a bug in the code finding extensions, so now TFP works.
> Well, "works", TFP has problems with radeon driver and r300 chips it seems.

As of r606773 TFP still doesn't work here without the attached patch.  
glXQueryExtensionsString() will never have GLX_EXT_texture_from_pixmap here, 
but glXQueryServerString() will, and, from the way I understand things, the 
server string should be what matters with indirect rendering.

-- 
Philip Falkner

["make_tfp_work.patch" (text/x-diff)]

Index: glutils.cpp
===================================================================
--- glutils.cpp	(revision 606773)
+++ glutils.cpp	(working copy)
@@ -9,6 +9,7 @@
 ******************************************************************/
 
 #include "glutils.h"
+#include "client.h"
 
 #include <dlfcn.h>
 
@@ -53,8 +54,12 @@
     glXQueryVersion( display(), &major, &minor );
     glXVersion = MAKE_GLX_VERSION( major, minor, 0 );
     // Get list of supported GLX extensions. Simply add it to the list of OpenGL extensions.
-    glExtensions += QString((const char*)glXQueryExtensionsString(
-        display(), DefaultScreen( display()))).split(" ");
+    if( options->glDirect )
+        glExtensions += QString((const char*)glXQueryExtensionsString(
+            display(), DefaultScreen( display()))).split(" ");
+    else
+        glExtensions += QString((const char*)glXQueryServerString(
+            display(), DefaultScreen( display()), GLX_EXTENSIONS)).split(" ");
 
     // handle OpenGL extensions functions
     glXGetProcAddress = (glXGetProcAddress_func) getProcAddress( "glXGetProcAddress" );
@@ -84,7 +89,7 @@
     glVersion = MAKE_OPENGL_VERSION(glversioninfo[0].toInt(), glversioninfo[1].toInt(),
                                     glversioninfo.count() > 2 ? glversioninfo[2].toInt() : 0);
     // Get list of supported OpenGL extensions
-    glExtensions = QString((const char*)glGetString(GL_EXTENSIONS)).split(" ");
+    glExtensions += QString((const char*)glGetString(GL_EXTENSIONS)).split(" ");
 
     // handle OpenGL extensions functions
     if( hasGLExtension( "GL_ARB_multitexture" ))


_______________________________________________
Kwin mailing list
Kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic