[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