X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fparser.cpp;h=0512c10b235ea6d384d17e319d9a4a5ce3e5c7b2;hp=72f8ebfa6279982e675b98b9c5364044e90f3150;hb=91e65bc9e24a6889995081035f6f6f0a78a6c20e;hpb=2016444ee144ce41f88c48e89c825137ad7e4ec2 diff --git a/source/glsl/parser.cpp b/source/glsl/parser.cpp index 72f8ebfa..0512c10b 100644 --- a/source/glsl/parser.cpp +++ b/source/glsl/parser.cpp @@ -72,6 +72,7 @@ void Parser::parse_source(const string &name, int index) declared_types.insert("void"); declared_types.insert("bool"); declared_types.insert("int"); + declared_types.insert("uint"); declared_types.insert("float"); } @@ -536,7 +537,9 @@ RefPtr Parser::parse_literal() if(isdigit(literal->token[0])) { // TODO have the tokenizer return the type of the token - if(literal->token.back()=='f') + if(literal->token.back()=='u') + literal->value = lexical_cast(literal->token.substr(0, literal->token.size()-1)); + else if(literal->token.back()=='f') literal->value = lexical_cast(literal->token.substr(0, literal->token.size()-1)); else if(literal->token.find('.')!=string::npos) literal->value = lexical_cast(literal->token);