SetForScope<Pass> set_pass(pass, RENAME);
var->visit(*this);
- staging_block.body.push_back(0);
- staging_block.body.back() = var;
+ staging_block.body.push_back_nocopy(var);
params.push_back(var);
}
SetForScope<Pass> set_pass(pass, RENAME);
r_inlined_statement->visit(*this);
- staging_block.body.push_back(0);
- staging_block.body.back() = r_inlined_statement;
+ staging_block.body.push_back_nocopy(r_inlined_statement);
}
/* Now collect names from the staging block. Local variables that would
/* Mark variables as output if they're used by the next stage or the
graphics API. */
if(interface_block)
- var_info.output = (interface_block->interface=="out" && (interface_block->linked_block || !interface_block->name.compare(0, 3, "gl_")));
+ var_info.output = (interface_block->interface=="out" && (interface_block->linked_block || !interface_block->block_name.compare(0, 3, "gl_")));
else
var_info.output = (var.interface=="out" && (stage->type==Stage::FRAGMENT || var.linked_declaration || !var.name.compare(0, 3, "gl_")));
else
{
VariableInfo &var_info = variables[&iface];
- var_info.output = (iface.interface=="out" && (iface.linked_block || !iface.name.compare(0, 3, "gl_")));
+ var_info.output = (iface.interface=="out" && (iface.linked_block || !iface.block_name.compare(0, 3, "gl_")));
}
}