glCreateShader not available in JSR 231

I have another weird porting error for JSR 231. While trying to diagnose another problem, I tried getting a program I’m developing up and running on my laptop. It has a cheap ATI Mobility Radeon HD 2300 and runs OpenGL 2.1.7. Now while my program runs fine on my desktop, on my laptop I get an exception whenever I try to call glCreateShader. However, my laptop is able to handle shaders and I’m able to call glCreateShader under JOGL 1.1.1a (albeit in a different program). (I’ve not run my current program on my laptop before, so I can’t say if this call would work for it under JOGL 1.1.1)

Exception in thread “AWT-EventQueue-0” javax.media.opengl.GLException: Method “glCreateShader” not available
at jogamp.opengl.gl4.GL4bcImpl.glCreateShader(GL4bcImpl.java:3115)
at javax.media.opengl.DebugGL2.glCreateShader(DebugGL2.java:28623)
at com.kitfox.coyote.renderer.jogl.GLWrapperJOGL.glCreateShader(GLWrapperJOGL.java:189)
at com.kitfox.coyote.renderer.CyMaterial.loadShader(CyMaterial.java:38)

Hi!

I succeeded in using glCreateShader with NVIDIA Quadro FX and JOGL 2.0. Can you try again without using DebugGL2?

I tried without the DebugGL2. Same error.

Try to display the OpenGL version used by JOGL so that we can check whether it uses the proper driver.

System.err.println("GL version:" + gl.glGetString(GL.GL_VERSION));

is giving me

GL version:1.1.0

Not sure why. JOGL 1.1.1 reports

2.1.7412 Release.

JOGL 2.0 seems to use the default Microsoft driver that supports only OpenGL 1.1.0. Talk about it to Sven on the official JogAmp forum, he will be able to help you as we know the symptom.