From: Marek Olšák Date: Tue, 7 Aug 2018 21:18:40 +0000 (-0400) Subject: glsl: add `unsigned int` type for EXT_GPU_shader4 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a7f38e7fbdb83d938b2dc9dc790be982f9ec7da6;p=mesa.git glsl: add `unsigned int` type for EXT_GPU_shader4 Reviewed-by: Timothy Arceri Reviewed-by: Ian Romanick Tested-by: Dieter Nützel Reviewed-by: Eric Anholt --- diff --git a/src/compiler/glsl/glsl_lexer.ll b/src/compiler/glsl/glsl_lexer.ll index f1426a9c486..d83e700f6fb 100644 --- a/src/compiler/glsl/glsl_lexer.ll +++ b/src/compiler/glsl/glsl_lexer.ll @@ -612,7 +612,7 @@ short KEYWORD(110, 100, 0, 0, SHORT_TOK); double TYPE_WITH_ALT(130, 100, 130, 300, yyextra->ARB_gpu_shader_fp64_enable, glsl_type::double_type); half KEYWORD(110, 100, 0, 0, HALF); fixed KEYWORD(110, 100, 0, 0, FIXED_TOK); -unsigned KEYWORD(110, 100, 0, 0, UNSIGNED); +unsigned KEYWORD_WITH_ALT(110, 100, 0, 0, yyextra->EXT_gpu_shader4_enable, UNSIGNED); input KEYWORD(110, 100, 0, 0, INPUT_TOK); output KEYWORD(110, 100, 0, 0, OUTPUT); hvec2 KEYWORD(110, 100, 0, 0, HVEC2); diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy index b91c24ebe97..9e9b49c8462 100644 --- a/src/compiler/glsl/glsl_parser.yy +++ b/src/compiler/glsl/glsl_parser.yy @@ -2308,7 +2308,16 @@ type_specifier_nonarray: basic_type_specifier_nonarray: VOID_TOK { $$ = glsl_type::void_type; } - | BASIC_TYPE_TOK { $$ = $1; }; + | BASIC_TYPE_TOK { $$ = $1; } + | UNSIGNED BASIC_TYPE_TOK + { + if ($2 == glsl_type::int_type) { + $$ = glsl_type::uint_type; + } else { + _mesa_glsl_error(&@1, state, + "\"unsigned\" is only allowed before \"int\""); + } + } ; precision_qualifier: