ARB prog parser: Revert part of previous change to constant parsing
The commit "ARP prog parser: Implement the spec, not what makes sense"
broke the parsing of scalar constants. This commit reverts that part
of that commit. Now vp_swizzle.c passes.
diff --git a/src/mesa/shader/program_parse.tab.c b/src/mesa/shader/program_parse.tab.c
index 856bcbe..dbed448 100644
--- a/src/mesa/shader/program_parse.tab.c
+++ b/src/mesa/shader/program_parse.tab.c
@@ -4092,11 +4092,11 @@
/* Line 1455 of yacc.c */
#line 1643 "program_parse.y"
{
- (yyval.vector).count = 4;
+ (yyval.vector).count = 1;
(yyval.vector).data[0] = (yyvsp[(1) - (1)].real);
- (yyval.vector).data[1] = 0.0f;
- (yyval.vector).data[2] = 0.0f;
- (yyval.vector).data[3] = 1.0f;
+ (yyval.vector).data[1] = (yyvsp[(1) - (1)].real);
+ (yyval.vector).data[2] = (yyvsp[(1) - (1)].real);
+ (yyval.vector).data[3] = (yyvsp[(1) - (1)].real);
;}
break;
@@ -4105,11 +4105,11 @@
/* Line 1455 of yacc.c */
#line 1651 "program_parse.y"
{
- (yyval.vector).count = 4;
+ (yyval.vector).count = 1;
(yyval.vector).data[0] = (float) (yyvsp[(1) - (1)].integer);
- (yyval.vector).data[1] = 0.0f;
- (yyval.vector).data[2] = 0.0f;
- (yyval.vector).data[3] = 1.0f;
+ (yyval.vector).data[1] = (float) (yyvsp[(1) - (1)].integer);
+ (yyval.vector).data[2] = (float) (yyvsp[(1) - (1)].integer);
+ (yyval.vector).data[3] = (float) (yyvsp[(1) - (1)].integer);
;}
break;
diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y
index b4ba5b0..89e8850 100644
--- a/src/mesa/shader/program_parse.y
+++ b/src/mesa/shader/program_parse.y
@@ -1641,19 +1641,19 @@
paramConstScalarUse: REAL
{
- $$.count = 4;
+ $$.count = 1;
$$.data[0] = $1;
- $$.data[1] = 0.0f;
- $$.data[2] = 0.0f;
- $$.data[3] = 1.0f;
+ $$.data[1] = $1;
+ $$.data[2] = $1;
+ $$.data[3] = $1;
}
| INTEGER
{
- $$.count = 4;
+ $$.count = 1;
$$.data[0] = (float) $1;
- $$.data[1] = 0.0f;
- $$.data[2] = 0.0f;
- $$.data[3] = 1.0f;
+ $$.data[1] = (float) $1;
+ $$.data[2] = (float) $1;
+ $$.data[3] = (float) $1;
}
;