std::map<unsigned, std::set<unsigned> > used_bindings;
std::vector<VariableDeclaration *> unplaced_variables;
std::vector<VariableDeclaration *> unbound_textures;
std::map<unsigned, std::set<unsigned> > used_bindings;
std::vector<VariableDeclaration *> unplaced_variables;
std::vector<VariableDeclaration *> unbound_textures;
bool visit_uniform(const std::string &, RefPtr<Layout> &);
virtual void visit(VariableDeclaration &);
bool visit_uniform(const std::string &, RefPtr<Layout> &);
virtual void visit(VariableDeclaration &);
bool supports_stage(Stage::Type) const;
bool supports_unified_interface_syntax() const;
virtual void visit(VariableReference &);
bool supports_stage(Stage::Type) const;
bool supports_unified_interface_syntax() const;
virtual void visit(VariableReference &);
virtual void visit(MemberAccess &);
virtual void visit(Assignment &);
bool supports_unified_sampling_functions() const;
virtual void visit(FunctionCall &);
virtual void visit(MemberAccess &);
virtual void visit(Assignment &);
bool supports_unified_sampling_functions() const;
virtual void visit(FunctionCall &);
bool supports_sample_sampling() const;
bool supports_uniform_location() const;
bool supports_binding() const;
bool supports_sample_sampling() const;
bool supports_uniform_location() const;
bool supports_binding() const;