++i;
}
+ for(Stage &s: module->stages)
+ {
+ StructuralFeatureConverter().apply(s, features);
+ resolve(s, RESOLVE_VARIABLES|RESOLVE_FUNCTIONS);
+ }
LocationAllocator().apply(*module, features);
for(Stage &s: module->stages)
finalize(s, mode);
void Compiler::finalize(Stage &stage, Mode mode)
{
- if(mode==PROGRAM)
- {
- StructuralFeatureConverter().apply(stage, features);
- QualifierConverter().apply(stage, features);
- resolve(stage, RESOLVE_VARIABLES|RESOLVE_FUNCTIONS);
- PrecisionConverter().apply(stage);
- }
- else if(mode==SPIRV)
+ QualifierConverter().apply(stage, features);
+ PrecisionConverter().apply(stage);
+ if(mode==SPIRV)
StructOrganizer().apply(stage);
// Collect bindings from all stages into the shared stage's maps