]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/spirv.cpp
Only remove load IDs of variables actually assigned in a loop
[libs/gl.git] / source / glsl / spirv.cpp
index edbdf6359eeb8d751690f9e5d45923f9bac32fd9..16168a8cb8725671197bf39567d276992e6c5695 100644 (file)
@@ -1858,7 +1858,8 @@ void SpirVGenerator::visit(Iteration &iter)
        if(iter.init_statement)
                iter.init_statement->visit(*this);
 
-       variable_load_ids.clear();
+       for(VariableDeclaration *v: AssignmentCollector().apply(iter))
+               variable_load_ids.erase(v);
 
        Id header_id = next_id++;
        Id continue_id = next_id++;