X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fresolve.h;h=36af54578da987b53fafcdabaffc3d6130b57a55;hp=92a7c336de71fbbb8a217dd7ece8dd29040c4ea2;hb=03b2ea5c9c611cfa5f02afb49ed7e05743e691b4;hpb=4ecc965177df174ed2d26cfedf24665c8879acda diff --git a/source/glsl/resolve.h b/source/glsl/resolve.h index 92a7c336..36af5457 100644 --- a/source/glsl/resolve.h +++ b/source/glsl/resolve.h @@ -32,7 +32,8 @@ private: std::map alias_map; std::map, TypeDeclaration *> array_types; NodeList::iterator type_insert_point; - InterfaceBlock *iface_block = 0; + NodeList::iterator block_member_type_ins_pt; + VariableDeclaration *iface_block = 0; bool r_any_resolved = false; public: @@ -46,12 +47,10 @@ private: virtual void visit(ImageTypeDeclaration &); virtual void visit(StructDeclaration &); virtual void visit(VariableDeclaration &); - virtual void visit(InterfaceBlock &); virtual void visit(FunctionDeclaration &); }; -/** Resolves variable references. Variable references which match the name -of an interface block are turned into interface block references. */ +/** Resolves variable references. */ class VariableResolver: private TraversingVisitor { private: @@ -72,7 +71,6 @@ private: virtual void visit(RefPtr &); void check_assignment_target(Statement *); virtual void visit(VariableReference &); - virtual void visit(InterfaceBlockReference &); virtual void visit(MemberAccess &); virtual void visit(Swizzle &); virtual void visit(BinaryExpression &); @@ -80,7 +78,6 @@ private: void merge_layouts(Layout &, const Layout &); void redeclare_builtin(VariableDeclaration &, VariableDeclaration &); virtual void visit(VariableDeclaration &); - virtual void visit(InterfaceBlock &); }; /** Resolves types and lvalueness of expressions. */ @@ -122,7 +119,6 @@ private: virtual void visit(Block &); virtual void visit(Literal &); virtual void visit(VariableReference &); - virtual void visit(InterfaceBlockReference &); virtual void visit(MemberAccess &); virtual void visit(Swizzle &); virtual void visit(UnaryExpression &);