   W32+GLSL+NVidia: strange linker error C9999
  Target Machine: Windows XP, NVidia card, OpenGL with GLSL Shaders.using linux on the target machine results in the shaders all compiling and linking ok. only using windows on the target machine together with the very same shaders results in this strange linker error:Quote:Vertex info-----------(0) : error C9999: symbol "@TMP2" already in tablewith different symbols ( once TMP2, then TMP4 and TMP5 and so on ). the error happens during linking of shader programs hence the shader objects compile fine. it also happens only with some shaders, namely those where i have 'sampler2DShadow' in it ( that's my guess after checking out the scripts ). i have though no idea what is wrong.is this simply a driver bug and i need to fetch new ones? ( yes, drivers are not the freshest right now )is there a bug with nvidia and sampler2DShadow that kills me here?is this something else? if so in what direction do i have to search?i checked that the following is true in the faulty programs:- uniforms are identical in the fragement shader and the vertex shader- varying are identical in the fragment shader and the vertex shader- compiles and links without a hickup on the same machine with linux   
  playing a bit around with commenting out parts of the script i ended up with the following beeing a problem:   vec3 temp = cross( gl_Normal.xyz, gl_MultiTexCoord1.xyz  );   mat3 matObjTan = mat3( cross( temp, gl_Normal.xyz ), temp, gl_Normal.xyz );if i comment out the second line it works. it looks like the compiler doesn't like my construction there. can it be the cross is a problem? what i want to achieve there is simply a TBN ( Tangent-BiNormal-Normal ) matrix from input gl_Normal and gl_MultiTexCoord1 . something wrong with that?   ;Quote:Original post by RPTDplaying a bit around with commenting out parts of the script i ended up with the following beeing a problem:   vec3 temp = cross( gl_Normal.xyz, gl_MultiTexCoord1.xyz  );   mat3 matObjTan = mat3( cross( temp, gl_Normal.xyz ), temp, gl_Normal.xyz );if i comment out the second line it works. it looks like the compiler doesn't like my construction there. can it be the cross is a problem? what i want to achieve there is simply a TBN ( Tangent-BiNormal-Normal ) matrix from input gl_Normal and gl_MultiTexCoord1 . something wrong with that?Try vec3 temp = cross( vec3(gl_Normal), vec3(gl_MultiTexCoord1)); mat3 matObjTan = mat3(cross(temp, vec3(gl_Normal)), temp, vec3(gl_Normal));Try that see what happens... What hardware are you on?   