stage.required_features.glsl_version = module->shared.required_features.glsl_version;
inject_block(stage.content, module->shared.content);
- if(Stage *builtins = get_builtins(stage.type))
+ if(const Stage *builtins = get_builtins(stage.type))
inject_block(stage.content, builtins->content);
- if(Stage *builtins = get_builtins(Stage::SHARED))
+ if(const Stage *builtins = get_builtins(Stage::SHARED))
inject_block(stage.content, builtins->content);
// Initial resolving pass
BlockHierarchyResolver().apply(stage);
+ TypeResolver().apply(stage);
FunctionResolver().apply(stage);
VariableResolver().apply(stage);
/* All variables local to a stage have been resolved. Resolve non-local
variables through interfaces. */
InterfaceGenerator().apply(stage);
+ TypeResolver().apply(stage);
VariableResolver().apply(stage);
FunctionResolver().apply(stage);
any_inlined |= ExpressionInliner().apply(stage);
if(any_inlined)
{
+ TypeResolver().apply(stage);
VariableResolver().apply(stage);
FunctionResolver().apply(stage);
}