#include <algorithm>
+#include <msp/core/hash.h>
+#include <msp/strings/format.h>
#include "arb_shader_objects.h"
#include "arb_vertex_shader.h"
#include "error.h"
uniforms[name] = info;
}
}
+
+ string layout_descriptor;
+ for(map<string, UniformInfo>::const_iterator i = uniforms.begin(); i!=uniforms.end(); ++i)
+ if(i->second.location>=0)
+ {
+ if(!layout_descriptor.empty())
+ layout_descriptor += '\n';
+ layout_descriptor += format("%d:%s:%x", i->second.location, i->second.name, i->second.type);
+ }
+ uniform_layout_hash = hash32(layout_descriptor);
}
string Program::get_info_log() const