Shader works with ati not nvidia

Hello world.

Currently my game development team is faced with the problem that we have no solution for.

Our shaders compile and work fine on all ATI cards, but for some reason the program crashes when trying to run it on computers with nvidia cards.

i ran across an article that said nvidia has a problem with their glsl shader parser saying white space or commenting could be a problem, but do not know very much more on that subject. We have tried even using a very basic vertex and fragment shaders and still it crashes nvidia cards but works fine on ATI cards. I have compiled them in rendermonkey and sent them through 3dLabs GLSL validate and GLSL ShaderGen apps, all have passed and have worked. I am exhausting my resources and cannot find a solution to this problem anywhere on the net or in books and many have i searched.

If anyone has run into a similar problem like this or needs more information to resolve this matter such as code or anything please do not hesitate to let me know. Thanks!!!

~Kristian

No, usually ATI drivers have a stricter compiler.

You have posted no useful information, so I would not expect to get any specific advice on this.

The only solution I can think of is, that one of the function pointers for a shader function is not correctly loaded so it crashes when the function is called. Otherwise I have no clue, all Shaders worked for me on nvidia but some not on ati ^^

i didnt plan on gettin to much help, just ideas on what could cause it to crash only on nvidia cards.

My teacher Richard s wright the guy who wrote the opengl superbible will more then likly know whats goin on, but i cant get intouch with him untill sometime next week busy man.

i was simply tryin to find anyone who has come across a problem like this in the past.

If even simple shaders is an issue, then something seems to be very wrong somewhere… Have you tried downloading a simple tutorial example, just to verify it’s not something in your code? Like http://www.lighthouse3d.com/opengl/glsl/index.php?minimal or something (code can be found at the bottom)?

If that doesn’t work, I’d try some different drivers.

Because most people do not have problem with even complex shaders on Nvidia cards, it is likely that the problem is somewhere else. Are you sure that the crash is shader related? It might be some missing extension you are not checking for. Or you might be passing incorrect ranges to the draw call.

Long time ago I had crash when error in my VBO binding code caused it to bound two VBOs containing different number of vertices (based on stride) for single draw call.

Updated.

we have installed visual studio on an nvidia computer and found out the the function call glDrawElements is where it is crashing, we loop through all the verts and call glVertex3f and this does not draw correctly on the nvidia card but still draws correctly on the ati machines. Has anyone come across this problem before?

I think I had a similar situation, where the ATI drivers where more forgiving than Nvidia’s. Turned out my indices weren’t quite right.

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