]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programsyntax.h
Consider extensions when checking GLSL features
[libs/gl.git] / source / programsyntax.h
index 9e64c4c7e86896192748cefb24e29b2333ca1787..1f26bc568800e1f9374cb0f4b9e20647442d6804 100644 (file)
@@ -7,6 +7,10 @@
 #include <vector>
 #include <msp/core/refptr.h>
 #include "extension.h"
+#include "uniform.h"
+
+#pragma push_macro("interface")
+#undef interface
 
 namespace Msp {
 namespace GL {
@@ -191,6 +195,7 @@ struct Layout: Node
 {
        struct Qualifier
        {
+               // TODO the standard calls this name, not identifier
                std::string identifier;
                std::string value;
        };
@@ -225,6 +230,7 @@ struct VariableDeclaration: Node
 {
        bool constant;
        std::string sampling;
+       std::string interpolation;
        std::string interface;
        std::string precision;
        std::string type;
@@ -383,6 +389,7 @@ struct Stage
        std::map<std::string, VariableDeclaration *> out_variables;
        std::map<std::string, unsigned> locations;
        Version required_version;
+       std::vector<const Extension *> required_extensions;
 
        Stage(StageType);
 };
@@ -399,4 +406,6 @@ struct Module
 } // namespace GL
 } // namespace Msp
 
+#pragma pop_macro("interface")
+
 #endif