+void Program::add_stages(const Module &mod, const map<string, int> &spec_values)
+{
+ switch(mod.get_format())
+ {
+ case Module::GLSL: return add_glsl_stages(static_cast<const GlslModule &>(mod), spec_values);
+ default: throw invalid_argument("Program::add_stages");
+ }
+}
+