From: Eric Anholt Date: Wed, 2 Jun 2010 20:56:39 +0000 (-0700) Subject: shaders: Don't lose the param binding swizzle for single params. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=84db95bfcd340a26a448fa89a19215711681cb50;p=mesa.git shaders: Don't lose the param binding swizzle for single params. Multiple item params are OK because we don't allow swizzles for them (in case you do array access to hit their elements, for example). For singles, though, using the swizzle can cut down on storage, we do want to allow a swizzled use of another param. Fixes OGLC texRect.c. --- diff --git a/src/mesa/shader/program_parse.tab.c b/src/mesa/shader/program_parse.tab.c index 99c4b2baa5f..7da7226c328 100644 --- a/src/mesa/shader/program_parse.tab.c +++ b/src/mesa/shader/program_parse.tab.c @@ -3366,7 +3366,7 @@ yyreduce: s->param_binding_type = (yyvsp[(3) - (3)].temp_sym).param_binding_type; s->param_binding_begin = (yyvsp[(3) - (3)].temp_sym).param_binding_begin; s->param_binding_length = (yyvsp[(3) - (3)].temp_sym).param_binding_length; - s->param_binding_swizzle = SWIZZLE_XYZW; + s->param_binding_swizzle = (yyvsp[(3) - (3)].temp_sym).param_binding_swizzle; s->param_is_array = 0; } ;} diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y index 06c2db7a07e..a2f34b863b5 100644 --- a/src/mesa/shader/program_parse.y +++ b/src/mesa/shader/program_parse.y @@ -1219,7 +1219,7 @@ PARAM_singleStmt: PARAM IDENTIFIER paramSingleInit s->param_binding_type = $3.param_binding_type; s->param_binding_begin = $3.param_binding_begin; s->param_binding_length = $3.param_binding_length; - s->param_binding_swizzle = SWIZZLE_XYZW; + s->param_binding_swizzle = $3.param_binding_swizzle; s->param_is_array = 0; } }