]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/compiler.cpp
Clear load ID when assigning to a component
[libs/gl.git] / source / glsl / compiler.cpp
index 4c8c1d03d893d277395b2f64b5def34aa7e55168..97c234f79285f3c253e94d76dd36b937d13e55b4 100644 (file)
@@ -107,6 +107,19 @@ void Compiler::compile(Mode mode)
                        ++i;
        }
 
+       Stage *prev_stage = 0;
+       for(auto i=module->stages.begin(); i!=module->stages.end(); )
+       {
+               if(i->functions.empty())
+                       i = module->stages.erase(i);
+               else
+               {
+                       i->previous = prev_stage;
+                       prev_stage = &*i;
+                       ++i;
+               }
+       }
+
        for(Stage &s: module->stages)
        {
                StructuralFeatureConverter().apply(s, features);
@@ -305,6 +318,7 @@ void Compiler::generate(Stage &stage)
        InterfaceGenerator().apply(stage);
        resolve(stage, RESOLVE_BLOCKS|RESOLVE_TYPES|RESOLVE_VARIABLES);
 
+       LayoutDefaulter().apply(stage);
        ArraySizer().apply(stage);
        resolve(stage, RESOLVE_EXPRESSIONS);
 }