VariableDeclaration *frag_out = 0;
NodeList<Statement>::iterator uniform_insert_point;
std::set<Node *> nodes_to_remove;
+ RefPtr<Expression> r_replaced_reference;
+ bool r_flattened_interface = false;
public:
virtual void apply(Stage &, const Features &);
void unsupported(const std::string &);
virtual void visit(Block &);
+ virtual void visit(RefPtr<Expression> &);
bool check_version(const Version &) const;
bool check_extension(bool Features::*) const;
bool supports_stage(Stage::Type) const;
bool supports_unified_interface_syntax() const;
virtual void visit(VariableReference &);
+ virtual void visit(InterfaceBlockReference &);
+ virtual void visit(MemberAccess &);
virtual void visit(Assignment &);
bool supports_unified_sampling_functions() const;
virtual void visit(FunctionCall &);