for(list<Stage>::iterator i=module->stages.begin(); i!=module->stages.end(); ++i)
{
glsl += format("#pragma MSP stage(%s)\n", Stage::get_stage_name(i->type));
for(list<Stage>::iterator i=module->stages.begin(); i!=module->stages.end(); ++i)
{
glsl += format("#pragma MSP stage(%s)\n", Stage::get_stage_name(i->type));
throw key_error(Stage::get_stage_name(stage_type));
}
const map<string, unsigned> &Compiler::get_vertex_attributes() const
{
throw key_error(Stage::get_stage_name(stage_type));
}
const map<string, unsigned> &Compiler::get_vertex_attributes() const
{
for(list<Stage>::const_iterator i=module->stages.begin(); i!=module->stages.end(); ++i)
if(i->type==Stage::VERTEX)
return i->locations;
for(list<Stage>::const_iterator i=module->stages.begin(); i!=module->stages.end(); ++i)
if(i->type==Stage::VERTEX)
return i->locations;
for(list<Stage>::const_iterator i=module->stages.begin(); i!=module->stages.end(); ++i)
if(i->type==Stage::FRAGMENT)
return i->locations;
for(list<Stage>::const_iterator i=module->stages.begin(); i!=module->stages.end(); ++i)
if(i->type==Stage::FRAGMENT)
return i->locations;
target->required_features.glsl_version = stage.required_features.glsl_version;
for(NodeList<Statement>::iterator i=stage.content.body.begin(); i!=stage.content.body.end(); ++i)
target->content.body.push_back(*i);
target->required_features.glsl_version = stage.required_features.glsl_version;
for(NodeList<Statement>::iterator i=stage.content.body.begin(); i!=stage.content.body.end(); ++i)
target->content.body.push_back(*i);
resolve(stage, RESOLVE_BLOCKS|RESOLVE_TYPES|RESOLVE_VARIABLES);
ConstantSpecializer().apply(stage, (mode==PROGRAM && specialized ? &spec_values : 0));
resolve(stage, RESOLVE_BLOCKS|RESOLVE_TYPES|RESOLVE_VARIABLES);
ConstantSpecializer().apply(stage, (mode==PROGRAM && specialized ? &spec_values : 0));