]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/reflect.cpp
Only remove load IDs of variables actually assigned in a loop
[libs/gl.git] / source / glsl / reflect.cpp
index 258244e88b4e2457b441a75bfe9ecbed24fcc2b8..cc2e3a0c8bc2c6570e30bb50decd35cd413b97f1 100644 (file)
@@ -380,6 +380,19 @@ void DependencyCollector::visit(FunctionDeclaration &func)
        }
 }
 
+
+set<VariableDeclaration *> AssignmentCollector::apply(Node &node)
+{
+       node.visit(*this);
+       return assigned_variables;
+}
+
+void AssignmentCollector::visit(Assignment &assign)
+{
+       if(VariableDeclaration *var = dynamic_cast<VariableDeclaration *>(assign.target.declaration))
+               assigned_variables.insert(var);
+}
+
 } // namespace SL
 } // namespace GL
 } // namespace Msp