This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

OpenGL header problems


As I mentioned in my email about enabling indirect OpenGL acceleration, there are some problems when trying to link to -lopengl32.

I tracked this down to problems with the way that /usr/include/w32api/GL/gl.h decorates the function declarations for the gl* functions. There are some collisions between the way that the standard windows headers define WINGDIAPI and APIENTRY and the way that gl.h expects them to be.

However, the problem is a little trickier than just that: I added a call to glPixelStorei in Xserver/hw/xwin/InitOutput.c (without #including any opengl headers) and instead made my own prototype for glPixelStorei. If I made it:

void __stdcall glPixelStorei (unsigned int, int);

then the linker would complain about how it had to fixup a reference to glPixelStorei as _glPixelStorei@8. But that is exactly what the __stdcall was supposed to do, so I am getting a little confused about why the prototype was being ignored.

I need an expert on __stdcall and w32api headers to give me a hand here. Igor, I saw a post you made on this subject before, so I am counting on you :)

Once this little trick is solved we will have to figure out how to get the proper headers in exports/include/GL/; that directory currently getes some Mesa headers in it. I'm not sure if we can cleanly disable that and point to the w32api OpenGL headers instead.

Harold


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]