X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fgenerate.h;h=54e39f39aa0679088ea7d18dd98192c32645f07c;hb=f639d088c478fe5d266f9f5779928735b5176976;hp=3d175b42dceda80c71c5052bfbdba0862ea1a4cd;hpb=6d11ee7d6137117f441951615cd4cde4d59bf968;p=libs%2Fgl.git diff --git a/source/glsl/generate.h b/source/glsl/generate.h index 3d175b42..54e39f39 100644 --- a/source/glsl/generate.h +++ b/source/glsl/generate.h @@ -85,7 +85,7 @@ class VariableResolver: private TraversingVisitor { private: Stage *stage; - RefPtr r_iface_ref; + RefPtr r_replacement_expr; std::string block_interface; bool r_any_resolved; bool record_target; @@ -99,6 +99,7 @@ public: private: virtual void enter(Block &); + void visit_and_replace(RefPtr &); virtual void visit(VariableReference &); virtual void visit(InterfaceBlockReference &); virtual void visit(MemberAccess &); @@ -149,6 +150,7 @@ private: virtual void visit(InterfaceBlockReference &); virtual void visit(MemberAccess &); virtual void visit(UnaryExpression &); + void visit(BinaryExpression &, bool); virtual void visit(BinaryExpression &); virtual void visit(Assignment &); virtual void visit(FunctionCall &);