(*i)->compile();
uniforms.clear();
+ legacy_vars = false;
glLinkProgram(id);
int value;
int len = 0;
int size;
GLenum type;
- glGetActiveUniform(id, i, 128, &len, &size, &type, name);
+ glGetActiveUniform(id, i, sizeof(name), &len, &size, &type, name);
if(len && strncmp(name, "gl_", 3))
{
/* Some implementations report the first element of a uniform array,
info.type = type;
uniforms_by_index[i] = &info;
}
+ else
+ legacy_vars = true;
+ }
+
+ glGetProgramiv(id, GL_ACTIVE_ATTRIBUTES, &count);
+ for(int i=0; i<count; ++i)
+ {
+ char name[128];
+ int len = 0;
+ int size;
+ GLenum type;
+ glGetActiveAttrib(id, i, sizeof(name), &len, &size, &type, name);
+ if(len && !strncmp(name, "gl_", 3))
+ legacy_vars = true;
}
if(ARB_uniform_buffer_object)
{
char name[128];
int len;
- glGetActiveUniformBlockName(id, i, 128, &len, name);
+ glGetActiveUniformBlockName(id, i, sizeof(name), &len, name);
UniformBlockInfo &info = uniform_blocks[name];
info.name = name;