[Mesa-dev] [PATCH] glsl: Mark "row_major" as not a reserved word in GLSL ES 3.0.
Kenneth Graunke
kenneth at whitecape.org
Thu Jul 11 11:21:08 PDT 2013
On 07/11/2013 10:57 AM, Anuj Phogat wrote:
> On Thu, Jul 11, 2013 at 10:13 AM, Matt Turner <mattst88 at gmail.com> wrote:
>> We mark ARB_uniform_buffer_object as enabled under ES 3 since it
>> contains that functionality, which tricked the compiler into tokenizing
>> "row_major".
>> ---
>> src/glsl/glsl_lexer.ll | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll
>> index 008ef30..e66ce7b 100644
>> --- a/src/glsl/glsl_lexer.ll
>> +++ b/src/glsl/glsl_lexer.ll
>> @@ -72,7 +72,7 @@ static int classify_identifier(struct _mesa_glsl_parse_state *, const char *);
>> alt_expr, token) \
>> do { \
>> if (yyextra->is_version(allowed_glsl, allowed_glsl_es) \
>> - || alt_expr) { \
>> + || (alt_expr)) { \
>> return token; \
>> } else if (yyextra->is_version(reserved_glsl, \
>> reserved_glsl_es)) { \
>> @@ -522,7 +522,7 @@ image2DArrayShadow KEYWORD(130, 300, 0, 0, IMAGE2DARRAYSHADOW);
>> imageBuffer KEYWORD(130, 300, 0, 0, IMAGEBUFFER);
>> iimageBuffer KEYWORD(130, 300, 0, 0, IIMAGEBUFFER);
>> uimageBuffer KEYWORD(130, 300, 0, 0, UIMAGEBUFFER);
>> -row_major KEYWORD_WITH_ALT(130, 0, 140, 0, yyextra->ARB_uniform_buffer_object_enable, ROW_MAJOR);
>> +row_major KEYWORD_WITH_ALT(130, 0, 140, 0, yyextra->ARB_uniform_buffer_object_enable && !yyextra->es_shader, ROW_MAJOR);
>>
>> /* Additional reserved words in GLSL 1.40 */
>> isampler2DRect KEYWORD(140, 300, 140, 0, ISAMPLER2DRECT);
>> --
>> 1.8.1.5
Oh, I hadn't realized it wasn't reserved on ES3. Good fix.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
More information about the mesa-dev
mailing list