]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/validate.h
Unify handling of variables and interface blocks in the GLSL compiler
[libs/gl.git] / source / glsl / validate.h
index a09f9f643002b11ecae0bfba1237d07d76121cd9..c9a7b736035519e3d3767062e198cb22e5f8ba6b 100644 (file)
@@ -42,7 +42,7 @@ private:
        Features features;
        ScopeType scope = GLOBAL;
        InterfaceLayout *iface_layout = 0;
-       InterfaceBlock *iface_block = 0;
+       VariableDeclaration *iface_block = 0;
        VariableDeclaration *variable = 0;
 
 public:
@@ -57,7 +57,6 @@ private:
        virtual void visit(ImageTypeDeclaration &);
        virtual void visit(StructDeclaration &);
        virtual void visit(VariableDeclaration &);
-       virtual void visit(InterfaceBlock &);
        virtual void visit(FunctionDeclaration &);
 };
 
@@ -69,7 +68,7 @@ private:
        typedef std::map<std::string, Statement *> BlockDeclarationMap;
 
        std::map<Block *, BlockDeclarationMap> declarations;
-       std::map<std::string, InterfaceBlock *> interface_blocks;
+       std::map<std::string, VariableDeclaration *> interface_blocks;
        std::map<std::string, FunctionDeclaration *> overloaded_functions;
        bool anonymous_block = false;
 
@@ -87,7 +86,6 @@ private:
        virtual void visit(ImageTypeDeclaration &t) { visit(static_cast<TypeDeclaration &>(t)); }
        virtual void visit(StructDeclaration &);
        virtual void visit(VariableDeclaration &);
-       virtual void visit(InterfaceBlock &);
        virtual void visit(FunctionDeclaration &);
 };
 
@@ -102,10 +100,8 @@ private:
        virtual void visit(ImageTypeDeclaration &);
        virtual void visit(VariableReference &);
        virtual void visit(MemberAccess &);
-       virtual void visit(InterfaceBlockReference &);
        virtual void visit(FunctionCall &);
        virtual void visit(VariableDeclaration &);
-       virtual void visit(InterfaceBlock &);
        virtual void visit(FunctionDeclaration &);
 };
 
@@ -130,7 +126,6 @@ public:
 
 private:
        virtual void visit(VariableReference &);
-       virtual void visit(InterfaceBlockReference &);
        virtual void visit(Swizzle &);
        virtual void visit(UnaryExpression &);
        virtual void visit(BinaryExpression &);
@@ -207,7 +202,6 @@ private:
        void check_uniform(const Uniform &);
 
        virtual void visit(VariableDeclaration &);
-       virtual void visit(InterfaceBlock &);
        virtual void visit(FunctionDeclaration &) { }
 };