Forceware 8x.xx glsl linking problems

I have some GLSL shaders that worked with forceware 76.xx-79.xx on a QuadroFX 3400
(NV40-12?).

Now I’m testing 8x.xx. Some shaders compile, but there are linker errors that I can’t understand:

error C9999: symbol “@TMP6” already in table

Fragment info

(0) : fatal error C9999: Bad scope in ConvertLocalReferences()

What does this mean? Any idea?

Nvidia have recently been making their compiler more strict to the GLSL spec.

What happens when you run your shaders through the 3DLabs shader validator?

Can you post some shader source that does not link?

You’re seeing internal errors of NV’s GLSL implementation.

Originally posted by Henrik Kuehn:
error C9999: symbol “@TMP6” already in table
I’m also seeing this. It happens when I link a new shader program containing a shader object that is already linked with another program.

Thank you all for the help. I downloaded GLSLvalidate and it found the wrong line, that
confused glLinkProgram().

It was a “static” qualifier in the fragment shader , that doesn’t exist in GLSL.

I send a report to NVidia GLSL support,
hoping forceware is getting better and better
in finding (my) bugs. But from now on, every
line of shadercode I’ll write will first be checked by GLSLvalidate :wink:

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