]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/syntax.h
Use standard fixed-size integer types
[libs/gl.git] / source / glsl / syntax.h
index 66fed6e83f058d83b476d777a45cb43947703c72..7fa116b717dd388e5a2acba6001dc34c74226bab 100644 (file)
@@ -6,7 +6,7 @@
 #include <set>
 #include <string>
 #include <vector>
-#include <msp/core/inttypes.h>
+#include <cstdint>
 #include <msp/core/refptr.h>
 #include <msp/core/variant.h>
 #include "features.h"
@@ -40,7 +40,7 @@ struct Operator
 
        char token[4];
        char token2[2];
-       UInt8 precedence;
+       std::uint8_t precedence;
        Type type;
        Associativity assoc;
 
@@ -201,7 +201,7 @@ struct Swizzle: Expression
        NodePtr<Expression> left;
        std::string component_group;
        unsigned count;
-       UInt8 components[4];
+       std::uint8_t components[4];
 
        Swizzle();
 
@@ -238,8 +238,8 @@ struct Assignment: BinaryExpression
                };
 
                Statement *declaration;
-               Msp::UInt8 chain_len;
-               Msp::UInt8 chain[7];
+               std::uint8_t chain_len;
+               std::uint8_t chain[7];
 
                Target(Statement * = 0);
 
@@ -315,7 +315,8 @@ struct Layout: Node
                bool has_value;
                int value;
 
-               Qualifier(): has_value(false), value(0) { }
+               Qualifier(const std::string &n = std::string()): name(n), has_value(false), value(0) { }
+               Qualifier(const std::string &n, int v): name(n), has_value(true), value(v) { }
        };
 
        std::vector<Qualifier> qualifiers;
@@ -356,6 +357,7 @@ struct BasicTypeDeclaration: TypeDeclaration
 
        Kind kind;
        unsigned size;
+       bool sign;
        std::string base;
 
        TypeDeclaration *base_type;
@@ -556,8 +558,8 @@ struct Module
 
 std::string get_unused_variable_name(const Block &, const std::string &);
 
-bool is_same_type(const TypeDeclaration &, const TypeDeclaration &);
 int get_layout_value(const Layout &, const std::string &, int = -1);
+void add_to_chain(Assignment::Target &, Assignment::Target::ChainType, unsigned);
 
 } // namespace SL
 } // namespace GL