PDA

View Full Version : GLSL on an intel 945gm



keelx
05-22-2011, 11:06 AM
I have an Intel 945gm graphics chipset with opengl 1.4 (yeah, I know it sucks) and I am starting to learn glsl. I am running ubuntu, and when I run 'glxinfo' it says that it supports GL_ARB_VERTEX/FRAGMENT_SHADER/PROGRAM, and when I print glGetString(GL_SHADING_LANGUAGE_VERSION);
It says version 1.2.
Now, if I meet these requirements, then shouldn't I be able to use GLSL, regardless of whether or not I have 2.0?
Whenever I run a program or a game that uses shaders, it automatically either quits, printing 'Opengl version 2.0 required', or just doesn't use the shader. And if it does use the shader, it usually exceeds the instruction limit or the indirect-texture-lookup limit.
Is it possible for me to fix this by somehow 'faking' opengl 2.0? Or am I SOL and going to have to buy a new computer?

V-man
05-23-2011, 04:01 PM
There are 2 ways to use GLSL :
1. through GL 2.0 or 2.1 and whatever.
2. through the old extension method. There are 4 extensions to check.
http://www.opengl.org/registry/
- GL_ARB_shader_objects
- GL_ARB_vertex_shader
- GL_ARB_fragment_shader
- GL_ARB_shading_language_100

so those are the ARB version of GLSL. That was GLSL 1.00 but I guess the Linux programmers worked on it to bring it up to 1.20. It doesn't really matter, you would still have to keep your shaders simple for Intel chips.

You should use glGetString(GL_SHADING_LANGUAGE_VERSION_ARB) instead but I guess the token values are identical with GL_SHADING_LANGUAGE_VERSION.

kRogue
05-29-2011, 04:29 PM
Intel GPU.. and an old one at that.. shudders.
To put it mildly, you will be in for a "ride" when it comes to doing anything interesting with GLSL with an Intel GPU... I had a colleague of mine run a GL application that runs flawlessly on NVIDIA, ATI (via GL) and PowerVR-SGX and ARM-Mali (via GLES2).. he then ran it on Sandy Bridge under Ubunutu... absolutely horrifyingly bad... terrible artifacts all over the place. Don't even get me started on that piece of junk the WeTab.... I had to _disable_ mipmap filtering to get any performance on it.