the following shader code
uint layerseed = gl_PrimitiveID * 32;
gl_SampleMask[0] = int((layerseed) << 12);
generates a link error
uint layerseed = gl_PrimitiveID * 32;
gl_SampleMask[0] = (int(layerseed) << 12);
does not.
I checked for link errors with this code
glGetProgramiv( c_ProgramID, GL_LINK_STATUS, &linked);
if (!linked)
{
int l, l1;
glGetProgramiv( c_ProgramID, GL_INFO_LOG_LENGTH, &l);
GLchar* compilerSpew = new GLchar[l+1];
glGetShaderInfoLog(c_ProgramID, l, &l1, compilerSpew);
}
the length of the error string is 86; but the error string is junk.
Can anyone explain why the glsl code is wrong and how I get a sensible error message