No GL_ARB_pbuffer extention with ATI driver

Hi, I have a workaround for the fact that the Mesa drivers for Linux don’t seem to have pbuffer support consistently, and in these cases I use a Java2D solution to create an image and use as a texture.

In those cases when I see a non mesa driver I test for the GL_ARB_pbuffer extention using

boolean is available = gl.isExtensionAvailable(“GL_ARB_pbuffer”);

However when I try this on a machine using the ATI drivers fglrx_6_8_0-8.8.25-1 I get a false return.

Can anybody tell me which extension I should test for to check if pbuffers are available.

Hoping I can thank someone.

John

ATI’s Linux drivers report that they only support GLX 1.2, and GLX 1.3 is required for pbuffer support. You should file a bug with ATI and get them to fix their drivers, because pbuffers actually do work with their drivers. In the meantime, you can file an RFE with the JOGL Issue Tracker and we can put in a hack in resetGLFunctionAvailability() to check for ATI as the GL_VENDOR and return true in that case.

I sent a bug report to ATI and posted an entry in the issue tracking asking for the hack. Any idea when this would be available and what I could do in the mean time barring testing for ATI drivers myself.

I just did some checking and the version returned by the ati driver is

1.3.4769 (X4.3.0-8.8.25)

Which means that the driver does return the correct version for pbuffer support.

[quote]I just did some checking and the version returned by the ati driver is

1.3.4769 (X4.3.0-8.8.25)

Which means that the driver does return the correct version for pbuffer support.
[/quote]
What version string is that? We call glXQueryVersion in JOGL’s X11 code to determine whether pbuffer support is available, and ATI’s drivers (at least the version I’m running) return a minor version of 2.

I’ve checked in a workaround into JOGL’s X11 code, so if you can build the source tree you should be able to use pbuffers on your ATI card now. I’ll try to do the final builds for 1.1 b08 later tonight; these will contain this workaround.

I’m using the GL function

isExtensionAvailable(“GL_ARB_pbuffer”);

and this returns the string ‘1.3.4769 (X4.3.0-8.8.25)’