]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/output.cpp
Improve support for interface blocks
[libs/gl.git] / source / glsl / output.cpp
index ef7910f17bd2de93e8de4cc742ff68ee90c1e2b4..44acd634d388e1d3f9c7ab86081e43e4368f01ee 100644 (file)
@@ -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<string> 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(';');
 }