]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/optimize.h
Implement the ternary operator in GLSL
[libs/gl.git] / source / glsl / optimize.h
index 5448ea7c4e8771b8008ec0a6b786349f9386cc90..0604a39c1b24e9224dedffde7323ed3b0e5fa68f 100644 (file)
@@ -135,6 +135,7 @@ private:
        virtual void visit(UnaryExpression &);
        virtual void visit(BinaryExpression &);
        virtual void visit(Assignment &);
+       virtual void visit(TernaryExpression &);
        virtual void visit(FunctionCall &);
        virtual void visit(VariableDeclaration &);
        virtual void visit(Iteration &);
@@ -170,6 +171,7 @@ private:
        virtual void visit(Literal &);
        virtual void visit(UnaryExpression &);
        virtual void visit(BinaryExpression &);
+       virtual void visit(TernaryExpression &);
        virtual void visit(FunctionCall &);
        virtual void visit(BasicTypeDeclaration &);
        virtual void visit(ImageTypeDeclaration &);
@@ -227,15 +229,15 @@ private:
        virtual void visit(UnaryExpression &);
        virtual void visit(BinaryExpression &);
        virtual void visit(Assignment &);
-       void record_assignment(const Assignment::Target &, Node &);
        virtual void visit(FunctionCall &);
+       void record_assignment(const Assignment::Target &, Node &);
        virtual void visit(ExpressionStatement &);
        // Ignore structs because their members can't be accessed directly.
        virtual void visit(StructDeclaration &) { }
        virtual void visit(VariableDeclaration &);
        virtual void visit(InterfaceBlock &);
-       virtual void visit(FunctionDeclaration &);
        void merge_variables(const BlockVariableMap &);
+       virtual void visit(FunctionDeclaration &);
        virtual void visit(Conditional &);
        virtual void visit(Iteration &);
 };