Comment 6 for bug 433488

Revision history for this message
Tormod Volden (tormodvolden) wrote :

From #dri-devel last night:
<tormod> idr, did you see the patch I posted for your GLX 1.3 warnings?
<idr> tormod: I did.
 tormod: Thank you for reminding me. I was going to commit that today.
<tormod> great. what should the "buggy" applications do btw? for instance compiz does not care about glx version and justs probes for the functions that it needs
<idr> If the GLX version is not 1.3 or greater, it should not call those functions.
<idr> tormod: I don't know what you mean by "probes for the functions that it needs".
 tormod: The only probe is to call glXQueryVersion.
 tormod: Or glXQueryExtensionsString.
<tormod> sorry I don't know how this works, but I had a glance at the compiz code and it checks for these functions
 and since the messages appear, it is obviously using them :) and it works
<tormod> compiz uses glXQueryExtensionsString, but also some getProcAddress ("glXCreatePixmap") magic (http://cgit.compiz.org/compiz/core/tree/plugins/opengl/src/screen.cpp)
<idr> tormod: That magic is 100% wrong.
 tormod: On the standard libGL, glXGetProcAddress *ALWAYS* returns a pointer to something.
 tormod: Even if you call 'glXGetProcAddress("baconisyummytoeat");'.
<MostAwesomeDude> Well, bacon *is* delicious.
<idr> true dat!
<tormod> :) but if compiz was doing things correct (TM) it would just not run on r300 then?
<idr> tormod: It was doing things correct, it would continue to run when non-essential functionality was not available.
 tormod: Can it just not possibly run without some GLX 1.3 exclusive functionality? I doubt it.
<tormod> yes I guess it would
<idr> It obviously does since we don't support GLX 1.3! :)
<tormod> but it uses those GLX 1.3 functions with success?
<idr> Given all the bug reports that we've had from compiz and Wine calling GLX 1.3 functions that eventually result in either crashes or incorrect results, no.
 Which is why I added the warning.
<tormod> so compiz _is_ buggy? news at 11
<idr> Many of the GLX 1.3 functions are identical to functions added by extensions (e.g., GLX_SGIX_fbconfig) that we do support.
 Calling the GLX 1.3 versions just dumps into the extension functions.
 Those cases happen to work by dumb luck.
<tormod> thanks for the explanations!