]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/program.h
Clean up includes and forward declarations for the core classes
[libs/gl.git] / source / core / program.h
index 6301edbe2c6e23ded094519e38f30db842ebbb55..41c5897dc08ccb54a5461a798c78b425b5315bf9 100644 (file)
@@ -1,13 +1,12 @@
 #ifndef MSP_GL_PROGRAM_H_
 #define MSP_GL_PROGRAM_H_
 
+#include <map>
 #include <string>
 #include <vector>
 #include <msp/datafile/objectloader.h>
-#include "gl.h"
 #include "module.h"
 #include "reflectdata.h"
-#include "vertexformat.h"
 
 namespace Msp {
 namespace GL {
@@ -63,10 +62,22 @@ private:
                std::map<unsigned, int> spec_values;
        };
 
+       struct UniformCall
+       {
+               using FuncPtr = void (*)(unsigned, unsigned, const void *);
+
+               unsigned location;
+               unsigned size;
+               FuncPtr func;
+
+               UniformCall(unsigned l, unsigned s, FuncPtr f): location(l), size(s), func(f) { }
+       };
+
        unsigned id;
        unsigned stage_ids[MAX_STAGES];
        bool linked;
        ReflectData reflect_data;
+       std::vector<UniformCall> uniform_calls;
        std::string debug_name;
 
 public: