X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Ffinalize.h;h=19ad594781825a5cef996fe9c1958cb392074395;hb=0a096b9bc02a67ea4a27645907c6b9d1fbdaae85;hp=263be454f252038cbee069abedcf854c9729ec97;hpb=c32051dc7e77faf0fe6bdad2a6f1025e7b43da19;p=libs%2Fgl.git diff --git a/source/glsl/finalize.h b/source/glsl/finalize.h index 263be454..19ad5947 100644 --- a/source/glsl/finalize.h +++ b/source/glsl/finalize.h @@ -33,9 +33,11 @@ private: 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 > used_locations; std::map uniforms; std::map > used_bindings; @@ -44,14 +46,14 @@ private: std::vector 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 &, const std::string &, unsigned); - void add_layout_value(RefPtr &, const std::string &, unsigned); + bool visit_uniform(const std::string &, RefPtr &); virtual void visit(VariableDeclaration &); virtual void visit(InterfaceBlock &); virtual void visit(FunctionDeclaration &) { }