X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Foutput.cpp;h=38adb5bd6b799f54f165299657b90f09830293de;hp=1d82cae6a9ed95f20debbcf500a6a242c929c54a;hb=dfcf8ebc329b79c369b88bdbeb982480aa5fc12a;hpb=48461f515f2619ab480b4d6c1d61deaf91e73854 diff --git a/source/glsl/output.cpp b/source/glsl/output.cpp index 1d82cae6..38adb5bd 100644 --- a/source/glsl/output.cpp +++ b/source/glsl/output.cpp @@ -14,7 +14,8 @@ Formatter::Formatter(): source_line(1), indent(0), parameter_list(false), - omit_builtin(false) + omit_builtin(false), + r_empty_name(false) { } const string &Formatter::apply(Stage &s) @@ -154,17 +155,22 @@ void Formatter::visit(Literal &literal) void Formatter::visit(VariableReference &var) { append(var.name); + r_empty_name = false; } void Formatter::visit(InterfaceBlockReference &iface) { - append(iface.name); + r_empty_name = iface.declaration->instance_name.empty(); + if(!r_empty_name) + append(iface.declaration->instance_name); } void Formatter::visit(MemberAccess &memacc) { visit_expression(*memacc.left, memacc.oper, false); - append(format(".%s", memacc.member)); + if(!r_empty_name) + append('.'); + append(memacc.member); } void Formatter::visit(Swizzle &swizzle)