- void add_stages(const Module &);
-
- DEPRECATED void attach_shader(Shader &shader);
- DEPRECATED void attach_shader_owned(Shader *shader);
- DEPRECATED void detach_shader(Shader &shader);
- DEPRECATED const std::vector<Shader *> &get_attached_shaders() const;
-
- DEPRECATED void bind_attribute(unsigned, const std::string &);
- DEPRECATED void bind_attribute(VertexComponent, const std::string &);
- DEPRECATED void bind_fragment_data(unsigned, const std::string &);
+ void add_stages(const Module &, const std::map<std::string, int> & = std::map<std::string, int>());
+private:
+ bool has_stages() const;
+ unsigned add_stage(Stage);
+ void add_glsl_stages(const GlslModule &, const std::map<std::string, int> &);
+ void compile_glsl_stage(unsigned);
+ void add_spirv_stages(const SpirVModule &, const std::map<std::string, int> &);