OpenGL implementation

Hai guys… I wanted to know whether openGL implementation varies from one hardware vendor to other ?? If so, then is Mesa 3D implemenataion based on a specific hardware???

I am not an expert when it comes to openGL and beginner myself, but I know there are vendor specific definitions like glATI.h which could very well have non finalized definitions or experimental ones that your driver hardware likely supports. I would say that something like mesa though would only use the officially defined API definitions that are in the OpenGL registry otherwise it would not be portable. I do believe mesa has a fall back software render-er so it might have some other functions and if they fail it could fall back to software instead of the driver, but that would cause a performance hit. I really do not know since I have not worked with mesa. Although I would say its unlikely that it uses some vendor specific implementation, but most likely uses what is defined as the standard by Khronos.

Of course the implementation varies.
However all implementations should behave in a way compatible with the GL specification in theory (of course different bugs and different interpretations of complex cases happen in practice).

Mesa started has a pure software implementation, then specific drivers for some hardware has been added, but not with a wide coverage.

glATI.h is just a text file for your compiler. You can make your own header file if you want and call it myglfavoritefile.h

A GL implementation means a actual driver that talks to the hardware. Each vendor writes their own GL driver (at least on Windows).

From the FAQ
http://www.opengl.org/wiki/FAQ#How_Does_It_Work_On_Windows.3F

Thanks all…:slight_smile: So Mesa 3D implementation is not targeted to one particular hardware. Hardware vendors can alo write their own OpenGL implementations and drivers like Nvidia… Otherwise vendors like intel, AMD/ATI use Mesa implementation and write the drivers acoordingly is it…Is my understanding correct…Any help would be most welcome…:slight_smile:

For Windows, hardware vendors write their own drivers and no, they do not use Mesa. On Linux, they probably port a portion of their GL front end to Linux and rewrite the Linux specific parts.

If you are interested in Linux, I think you should contact those companies directly to make sure how they conduct their business practices. Or contact Brian Paul from mesa3d.org if you want to know the inards of his project.