X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fparser.h;h=51616378c29c947653496ca71be80640081e55f4;hb=1a5dafe20e47c764f2914c341fb7b8f1fba59fb8;hp=e087f27f9d0578bd6e23be8fee0c44e841cd3cb3;hpb=f901fcf41d8ca544085f448227f84bc6f966660d;p=libs%2Fgl.git diff --git a/source/glsl/parser.h b/source/glsl/parser.h index e087f27f..51616378 100644 --- a/source/glsl/parser.h +++ b/source/glsl/parser.h @@ -25,9 +25,12 @@ private: Preprocessor preprocessor; bool allow_stage_change; Module *module; + std::vector imported_modules; Stage *cur_stage; - std::set declared_types; + std::set global_types; + std::set stage_types; std::vector errors; + RefPtr next_global_declaration; public: Parser(ModuleCache *); @@ -77,6 +80,7 @@ private: RefPtr parse_binary(const RefPtr &, const Operator &); RefPtr parse_ternary(const RefPtr &, const Operator &); RefPtr parse_function_call(const VariableReference &); + void add_type(TypeDeclaration &); RefPtr parse_type_declaration(); RefPtr parse_basic_type_declaration(); RefPtr parse_image_type_declaration(); @@ -84,7 +88,7 @@ private: RefPtr parse_variable_declaration(); RefPtr parse_variable_declaration_with_layout(); RefPtr parse_function_declaration(); - RefPtr parse_interface_block(); + RefPtr parse_interface_block(); RefPtr parse_conditional(); RefPtr parse_for(); RefPtr parse_while();