> On Wed, Oct 05, 2005 at 02:42:32PM +0000, Martin Spott wrote:

>> does anyone have an idea what's wrong here ?
[...]
>> ../../simgear/screen/extensions.hxx:449: error: `GLXPbufferSGIX' has
>> not been declared

Gerhard Wesp wrote:

> Well, what's GLXPbufferSGIX?  I'm not familiar with the OpenGL naming
> conventions, but it definitely sounds like an unsupported extension
> being used here.

Andy Ross wrote:

> This is a type (not a function) that is defined in in
> /usr/include/GL/glext.h, which your header apparently lacks.  The
> header is actually defined by the OpenGL ARB, so it should work to use
> one from a Linux machine, or the Mesa codebase, etc...

After looking at SunOS-5.8, IRIX-6.5 and AIX-5.1 I got the impression
that the 'glext.h' header is a special feature of Mesa. But I found
something similar on Solaris in /usr/include/GL/glx.h, including an
explanation why the compiler on IRIX does _not_ fail.

SunOS-5.8:

/* Functions related to pbuffer extension */

extern GLXPbuffer glXCreateGLXPbufferSGIX(Display *dpy,
                                       GLXFBConfigSGIX config,
                                       unsigned int width,
                                       unsigned int height,
                                       int *attrib_list);


IRIX-6.5.22m:

/*
** Pbuffer (Pixel Buffer) extension
*/
extern GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *dpy, GLXFBConfigSGIX 
config, unsigned int width, unsigned int height, int *attrib_list);


Applying this patch:

--- ./simgear/screen/extensions.hxx~    Sun Oct  9 21:35:31 2005
+++ ./simgear/screen/extensions.hxx     Sun Oct  9 21:35:31 2005
@@ -446,7 +446,7 @@
 typedef GLXContext (*glXCreateContextWithConfigProc) (Display *dpy,  
GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
 typedef GLXContext (*glXCreateContextProc) (Display *dpy, XVisualInfo *vis, 
GLXContext shareList, Bool direct);
 typedef void (*glXDestroyPbufferProc) (Display *dpy, GLXPbuffer pbuf);
-typedef int (*glXQueryGLXPbufferSGIXProc) (Display *, GLXPbufferSGIX, int, 
unsigned int *);
+typedef int (*glXQueryGLXPbufferSGIXProc) (Display *, GLXPbuffer, int, 
unsigned int *);
 typedef void (*glXQueryDrawableProc) (Display *, GLXDrawable, int, unsigned 
int *);
 #endif /* WIN32 */
 

.... makes GCC on Solaris8 happy.
Can anyone suggest how to cast this into a compatible/portable shape ?

Thanks,
        Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--------------------------------------------------------------------------

_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d

Reply via email to