diff options
author | marha <marha@users.sourceforge.net> | 2012-04-16 09:37:37 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-04-16 09:43:48 +0200 |
commit | 00eae6f01bf11ec6a90dfc68e607b6a1a250a118 (patch) | |
tree | b814d518076840b7433d02bc3b5957c1dd54de25 /mesalib/src/glsl/glsl_parser.yy | |
parent | a50d2ee664302147942dd5ed6428f9bab9d4e76a (diff) | |
parent | d6d3999ccb2cb72d55820770260172eccbbb68d7 (diff) | |
download | vcxsrv-00eae6f01bf11ec6a90dfc68e607b6a1a250a118.tar.gz vcxsrv-00eae6f01bf11ec6a90dfc68e607b6a1a250a118.tar.bz2 vcxsrv-00eae6f01bf11ec6a90dfc68e607b6a1a250a118.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
xorg-server/Xext/securitysrv.h
xorg-server/glx/glxext.h
xorg-server/glx/indirect_reqsize.c
xorg-server/glx/indirect_size_get.c
xorg-server/hw/xwin/winclip.c
xorg-server/hw/xwin/winfont.c
xorg-server/hw/xwin/winglobals.c
xorg-server/hw/xwin/winglobals.h
xorg-server/hw/xwin/winmonitors.h
xorg-server/include/closestr.h
xorg-server/include/pixmapstr.h
xorg-server/include/servermd.h
xorg-server/include/site.h
xorg-server/include/windowstr.h
xorg-server/include/xkbstr.h
Diffstat (limited to 'mesalib/src/glsl/glsl_parser.yy')
-rw-r--r-- | mesalib/src/glsl/glsl_parser.yy | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mesalib/src/glsl/glsl_parser.yy b/mesalib/src/glsl/glsl_parser.yy index 920213c30..5753acf3c 100644 --- a/mesalib/src/glsl/glsl_parser.yy +++ b/mesalib/src/glsl/glsl_parser.yy @@ -1103,8 +1103,14 @@ layout_qualifier_id_list: if ($1.flags.q.explicit_location) $$.location = $1.location; + if ($1.flags.q.explicit_index) + $$.index = $1.index; + if ($3.flags.q.explicit_location) $$.location = $3.location; + + if ($3.flags.q.explicit_index) + $$.index = $3.index; } ; @@ -1191,6 +1197,20 @@ layout_qualifier_id: YYERROR; } } + + if (strcmp("index", $1) == 0) { + got_one = true; + + $$.flags.q.explicit_index = 1; + + if ($3 >= 0) { + $$.index = $3; + } else { + _mesa_glsl_error(& @3, state, + "invalid index %d specified\n", $3); + YYERROR; + } + } } /* If the identifier didn't match any known layout identifiers, |