ARB and Cygwin

Is it possible to use ARB extensions (shaders) under cygwin?
I am not able to use glGenProgramsARB_t()

// Generate a valid program ID
// m_program_id => GLuint m_program_id ;
glGenProgramsARB_t(1, &m_program_id);
// typedef void (APIENTRY * glGenProgramsARB_t) (GLsizein, GLuint*);

This assertion fails. I am using same code under Linux and it works fine.

Under Linux I am using:
– ATI FireGL (256MB) card
– fglrx drivers
– ARB vertex and fragment shaders

I am using same card and same shaders on windows (cygwin). And have installed latest Fire X series drivers for XP from ATI. Do i need to install any drivers in cygwin?
( i am using “/lib/w32api/libopengl32.a” as libGL.a (sym link) )

glxinfo on Linux shows :
Direct Rendering : YES
OpenGL Drivers: ATI

glxinfo on Windows (Cygwin) shows:
Direct Rendering : NO
OpenGL Drivers: MESA

Can that be a problem? (When latest drivers were not installed on Linux i got exactly same assertion failure and when i used new drivers everything was ok.)

How do we make cygwin aware of underlying ATI card?
Is direct rendering equivalent to using vertext/fragment shaders ?
(i.e. do I need direct rendering=YES for using ARB shaders ? )

Ajay Joshi

Cygwin uses the Mesa ( as OpenGL implementation. It seems to be an older version since the current version supports vertex/fragment shaders eventhough only in software (read as: it will be freaking slow).

Indirect OpenGL acceleration is something cygwin has on there todo list: