Hi,
I've been trying to get the new i915tex DRI module to work with the new DRM
memory manager and finally succeeded. Unfortunately it seems to break compiz
which errors out complaining that there are no GLXFBConfigs for the default
depth.
I was able to trace the problem to the following block of code in
src/screen.c, starting on line 1897:
if (s->fbo)
{
(*s->getFBConfigAttrib) (dpy,
fbConfigs[j],
GLX_BIND_TO_MIPMAP_TEXTURE_EXT,
&value);
if (value < mipmap)
continue;
mipmap = value;
}
From what I understand the contents of the if block where never executed when
running with the i915 DRI module because it didn't support FBOs. The problem
with the new i915tex module is that FBOs are supported, but the call to
getFBConfigAttrib seems to always return -1 in value, resulting in the
GLXFBConfig being discarded.
My question is if the issue at hand is a bug in the DRI driver, or whether
compiz should be able to cope with such situations and continue as if no FBO
support was detected in the first place.
Note that commenting out the complete block shown above does indeed make
compiz work again.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 481 bytes
Desc: Digital signature
Url :
http://lists.freedesktop.org/archives/compiz/attachments/20061205/57bb08f5/attachment.pgp
On Tue, 2006-12-05 at 02:52 +0100, Thierry Reding wrote:> Hi, > > I've been trying to get the new i915tex DRI module to work with the new DRM > memory manager and finally succeeded. Unfortunately it seems to break compiz > which errors out complaining that there are no GLXFBConfigs for the default > depth. > > I was able to trace the problem to the following block of code in > src/screen.c, starting on line 1897: > > if (s->fbo) > { > (*s->getFBConfigAttrib) (dpy, > fbConfigs[j], > GLX_BIND_TO_MIPMAP_TEXTURE_EXT, > &value); > > if (value < mipmap) > continue; > > mipmap = value; > } > > From what I understand the contents of the if block where never executed when > running with the i915 DRI module because it didn't support FBOs. The problem > with the new i915tex module is that FBOs are supported, but the call to > getFBConfigAttrib seems to always return -1 in value, resulting in the > GLXFBConfig being discarded. > > My question is if the issue at hand is a bug in the DRI driver, or whether > compiz should be able to cope with such situations and continue as if no FBO > support was detected in the first place.Bug in driver. The driver is only allowed to return values GL_TRUE or GL_FALSE for GLX_BIND_TO_MIPMAP_TEXTURE_EXT. -David