X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fglsl%2Foutput.cpp;h=44acd634d388e1d3f9c7ab86081e43e4368f01ee;hb=c6d59d1b35ee981c10ee8b9870338ffbaaa23e19;hp=46314588858667c059a80c131bb6f527b3ba9bc6;hpb=90c3973fcadf28e25797656154e42dd3d2915144;p=libs%2Fgl.git diff --git a/source/glsl/output.cpp b/source/glsl/output.cpp index 46314588..44acd634 100644 --- a/source/glsl/output.cpp +++ b/source/glsl/output.cpp @@ -44,7 +44,7 @@ const string &Formatter::apply(Stage &s, Compiler::Mode m) append("#extension ext_texture_array: require\n"); formatted += '\n'; - visit(s.content); + s.content.visit(*this); return formatted; } @@ -99,6 +99,11 @@ void Formatter::visit(VariableReference &var) append(var.name); } +void Formatter::visit(InterfaceBlockReference &iface) +{ + append(iface.name); +} + void Formatter::visit(MemberAccess &memacc) { memacc.left->visit(*this); @@ -255,6 +260,13 @@ void Formatter::visit(InterfaceBlock &iface) SetForScope set(block_interface, iface.interface); append(format("%s %s\n", iface.interface, iface.name)); iface.members.visit(*this); + if(!iface.instance_name.empty()) + { + append(' '); + append(iface.instance_name); + if(iface.array) + append("[]"); + } append(';'); }