No GLSL on OpenGL 1.5?

Hi,
Just a quick question about GLSL compatibility.
I have a machine that has OpenGL 1.5 but doesn’t seem to have GLSL.

As you can see from this screen shot of a program that lets me know whats installed.
At first I thought that maybe GLSL isn’t introduced until OpenGL version 2.0 but when I go here:
http://www.opengl.org/documentation/glsl/
It says that the GLSL is “a programming language that is a companion to OpenGL 1.4 and higher”
Can someone then explain to me why then the field for GLSL is blank?
Thanks

GLSL was introduced into corea with GL 2.1 Implementations prior to it may supply GLSL as extensions. GL 1.4 may be compatible with this extensions, but they are not mandratory.

GLSL was core in 2.0, It was available as an extension before that.

As far as I know, that intel chipset does not support GLSL in the driver. (It could as it supports ASM shader - but I don’t think Intel has bothered to update the driver)

Ah So Intel simply decided not to include the extension.

Pardon my lack of understanding but GLSL isn’t something I can install is it? Since I have seen some ATI cards say that the vertex and fragment shader will run in software because something went wrong like the available number of texture instructions exceeded.

No, it’s part of the driver. Either the driver exposes the functionality, or it doesn’t, you cannot install it manually.

The only thing that you can do, is to use Mesa as a software-only OpenGL implementation. But that is only useful for debugging or testing purposes, since you get no hardware-acceleration whatsoever.

Jan.

The other option is to use Cg instead. It can convert GLSL to ARB ASM which I think this card has.

FWIW, the Mac driver for the Intel 965 supports GLSL.

Intel GPU… please no! That’s just a joke. We have sometime strong words against ATI but for Intel, I just don’t care anymore. You want to do 3D graphics, buy one.

And they huge plans for their next chips? Well we have the same word for almost 10 years… Intel => I don’t care!

I recently been amazed by a chip from an ASUS P5K-E (I don’t remember the name but it’s quiet new). It returns that it is an OpenGL 1.5 chips, well no shader… great! Well it wasn’t all. I try to use VBOs, an OpenGL 1.5 features and the application crash… null pointer function. No shader no even VBOs for a chip that is supposed to support DirectX 10… (That’s on what my researsh of working drivers lead me)

Intel, I DON’T CARE!

I wonder how Intel’s Larrabee will be :wink:

according to this
http://en.wikipedia.org/wiki/Intel_GMA
GMA X3500 + X4500 are the only intel GPUs with opengl2.0 support

4fingers if u wanna play around with glsl on your intel machine theres always mesa3d i suppose

Thanks that’s rather interesting to know.

I totally agree with you, after reading through Intel’s forum I am just glad that I am working with this chipset after it has had time to mature. I wish I had the ability to just say “I don’t care” but sadly it is my University that owns the Intel machines. Because of this I doubt they would allow Messa3D drivers to be installed. I just wanted to make sure that if someone wanted to run my program at my university they shouldn’t have a problem.

As they said above OpenGL 1.5 does support the shading extension which my graphics controller does support to a certain degree.
http://en.wikipedia.org/wiki/Intel_GMA#GMA_3000

This was confirmed by Intel Technical support

For some vertex shaders I only use them to get the position to be used in the fragment shader like so:

varying vec2 MCposition;
void main() { 
    MCposition     = gl_Vertex.xy;
}

So it shouldn’t be too bad if the vertex shaders can only run in software mode, right? The question is now, do I do anything different in order to get my shaders to work except for reduce my vertex shaders to the example above.

If you want Mesa3D on Windows, all you need to do is drop the DLL into your apps folder and Windows will load it when you run your app. In other words, there is nothing to install.

Sorry I should have mentioned this earlier but I am using JOGL so I am not sure if I can just do what you suggested. After further investigation by going to http://www.mesa3d.org/ then going to the “Shading Language” section and under “Unsupported Features” it says “Linking of multiple shaders is not supported”.
I am not quite sure what that means but I link in 3 shaders consisting of one vertex shader then one fragment shader that holds a bunch of methods and has no main method. The second fragment shader has the main method. Would that mean it won’t like that setup?
The other problems is that “The inverse trig functions asin(), acos(), and atan() are not implemented” which is annoying because one of my shaders uses acos().

When I next access the Intel machine I will try and simply run a fragment shader and see if it works. At the moment if vertex shaders aren’t supported will it automatically go into software without me having to do anything?

Thanks so far for your valuable input.

Sorry to double post but I have some new information
When I run this:

System.out.println("GL_ARB_fragment_shader: " + gl.isExtensionAvailable("GL_ARB_fragment_shader"));

System.out.println("GL_ARB_vertex_shader: " + gl.isExtensionAvailable("GL_ARB_vertex_shader"));

System.out.println("GL_ARB_shader_objects: " + gl.isExtensionAvailable("GL_ARB_shader_objects"));

System.out.println("GL_ARB_shading_language_100: " + gl.isExtensionAvailable("GL_ARB_shading_language_100"));

I get this output:

GL_ARB_fragment_shader: false
GL_ARB_vertex_shader: false
GL_ARB_shader_objects: false
GL_ARB_shading_language_100: false

So obviously my current driver doesn’t support any of the Shading Language so I am going to see if I can update the driver from 6.14.10.4864 to 6.14.10.4924 and if that doesn’t help I might try and learn about Cg and how it might be able to help.
Thanks again.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.