X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Foutput.cpp;h=52371d1bfdd79f9f7de91ff457d10001952f6c62;hp=d44dbff99de3f1c0e6b59f244169ff18072f61d9;hb=041ba4b1acd55337239c5ce24cc310118c621206;hpb=cd01b904990d306eadd120f306b1d0ceb4d8f5c8 diff --git a/source/glsl/output.cpp b/source/glsl/output.cpp index d44dbff9..52371d1b 100644 --- a/source/glsl/output.cpp +++ b/source/glsl/output.cpp @@ -94,7 +94,7 @@ void Formatter::visit(Block &block) bool first = true; for(NodeList::iterator i=block.body.begin(); i!=block.body.end(); ++i) { - if((*i)->source==BUILTIN_SOURCE) + if((*i)->source<=BUILTIN_SOURCE) continue; if(!first) append('\n'); @@ -229,7 +229,7 @@ void Formatter::visit(VariableDeclaration &var) append(format("%s ", var.interpolation)); if(!var.sampling.empty()) append(format("%s ", var.sampling)); - if(!var.interface.empty() && var.interface!=block_interface) + if(!var.interface.empty()) { string interface = var.interface; if(mode==Compiler::PROGRAM && stage && stage->required_features.glsl_version set(block_interface, iface.interface); append(format("%s %s\n", iface.interface, iface.name)); - iface.members.visit(*this); + if(iface.struct_declaration) + iface.struct_declaration->members.visit(*this); if(!iface.instance_name.empty()) { append(' ');