Created attachment 33320 [details] glxinfo output doing this gets no fbconfigs back: static const int attrib_list[] = { GLX_DRAWABLE_TYPE, GLX_PBUFFER_BIT, None }; fbconfigs = glXChooseFBConfig(dpy, scrnum, attrib_list, &numFBConfigs); This seems to be the cause of #24093
The best result here would be for firefox to get fixed to use FBOs. Until then, this will just be a request for enhancement for the driver to support an API that's been obsolete for 5 years.
(In reply to comment #1) > The best result here would be for firefox to get fixed to use FBOs. Until > then, this will just be a request for enhancement for the driver to support an > API that's been obsolete for 5 years. > I looked at the FF code, I expect the reason they are using pbuffers is because they don't have an X Window to tie the GL context to since webGL content might have other stuff on top of it... Also they need one GL context per canvas element so they can't just use one shared GL context for everything... I filed a mozilla bug for this as well: https://bugzilla.mozilla.org/show_bug.cgi?id=536119 Also if they don't work shouldn't the GLX_SGIX_pbuffer extension not be listed?
(In reply to comment #2) > Also if they don't work shouldn't the GLX_SGIX_pbuffer extension not be listed? Unfortunately, GLX_SGIX_pbuffer is required for GLX 1.3. We support all of the useful bits of GLX 1.3, and we correctly support the mechanism to ask for a pbuffer visual. Sometimes when you ask for something the answer is no. Several GL and GLX extensions, such as this one and GLX_SGIS_multisample, intentionally allow this sort of implementation. That said, since we can do accelerated rendering to pixmaps, adding pbuffers would be a fairly trivial enhancement. I'm reassigning to Kristian because he once described to me how he thought that should be done.
Created attachment 33592 [details] [review] Set pbuffer bit for fbconfigs Pbuffers are already implemented in the X server, but we've never actually enabled the bits in the fbconfigs. The attached patch will set the pbuffer bits in the fbconfigs when we're loading a dri2 driver, which should be all that's needed. This does enable an untested codepath (I'm pretty sure I tested it when I wrote the code...). We can try to add this after the 1.8 xserver goes out.
This is now committed to git master and will in be xserver 1.9.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.