int desc_set;
int bind_point;
- Uniform(): location(-1), desc_set(-1), bind_point(-1) { }
+ Uniform(): location(-1), desc_set(0), bind_point(-1) { }
};
+ Features features;
+ bool alloc_new = true;
std::map<std::string, std::set<unsigned> > used_locations;
std::map<std::string, Uniform> uniforms;
std::map<unsigned, std::set<unsigned> > used_bindings;
std::vector<InterfaceBlock *> unbound_blocks;
public:
- void apply(Module &, const Features &);
+ void apply(Module &, const Features &, bool = true);
private:
void apply(Stage &);
void allocate_locations(const std::string &);
void bind_uniform(RefPtr<Layout> &, const std::string &, unsigned);
- void add_layout_value(RefPtr<Layout> &, const std::string &, unsigned);
+ bool visit_uniform(const std::string &, RefPtr<Layout> &);
virtual void visit(VariableDeclaration &);
virtual void visit(InterfaceBlock &);
virtual void visit(FunctionDeclaration &) { }