]> git.tdb.fi Git - libs/gl.git/blobdiff - source/program.h
Split the interface queries from Program::link into separate functions
[libs/gl.git] / source / program.h
index a3fe57bfbece6c409cf7e967191e580a5fd5c5ac..826a49637bf9535caf0e30af2c3cdb7ca5ed222b 100644 (file)
@@ -1,8 +1,8 @@
 #ifndef MSP_GL_PROGRAM_H_
 #define MSP_GL_PROGRAM_H_
 
-#include <list>
 #include <string>
+#include <vector>
 #include <msp/datafile/objectloader.h>
 #include "bindable.h"
 #include "gl.h"
@@ -59,7 +59,7 @@ public:
                LayoutHash layout_hash;
        };
 
-       typedef std::list<Shader *> ShaderList;
+       typedef std::vector<Shader *> ShaderList;
        typedef std::map<std::string, UniformInfo> UniformMap;
        typedef std::map<std::string, UniformBlockInfo> UniformBlockMap;
 
@@ -102,6 +102,9 @@ public:
 
        void link();
 private:
+       void query_uniforms();
+       void query_uniform_blocks(const std::vector<UniformInfo *> &);
+       void query_attributes();
        static LayoutHash compute_layout_hash(const std::vector<const UniformInfo *> &);
        static bool uniform_location_compare(const UniformInfo *, const UniformInfo *);
 public: