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