mesa: use gl_constant_value type in ARB program parser

This commit is contained in:
Brian Paul
2011-08-04 16:00:06 -06:00
parent a0eb83401e
commit 324857599b
2 changed files with 30 additions and 29 deletions

View File

@@ -1854,64 +1854,64 @@ paramConstUse: paramConstScalarUse | paramConstVector;
paramConstScalarDecl: signedFloatConstant paramConstScalarDecl: signedFloatConstant
{ {
$$.count = 4; $$.count = 4;
$$.data[0] = $1; $$.data[0].f = $1;
$$.data[1] = $1; $$.data[1].f = $1;
$$.data[2] = $1; $$.data[2].f = $1;
$$.data[3] = $1; $$.data[3].f = $1;
} }
; ;
paramConstScalarUse: REAL paramConstScalarUse: REAL
{ {
$$.count = 1; $$.count = 1;
$$.data[0] = $1; $$.data[0].f = $1;
$$.data[1] = $1; $$.data[1].f = $1;
$$.data[2] = $1; $$.data[2].f = $1;
$$.data[3] = $1; $$.data[3].f = $1;
} }
| INTEGER | INTEGER
{ {
$$.count = 1; $$.count = 1;
$$.data[0] = (float) $1; $$.data[0].f = (float) $1;
$$.data[1] = (float) $1; $$.data[1].f = (float) $1;
$$.data[2] = (float) $1; $$.data[2].f = (float) $1;
$$.data[3] = (float) $1; $$.data[3].f = (float) $1;
} }
; ;
paramConstVector: '{' signedFloatConstant '}' paramConstVector: '{' signedFloatConstant '}'
{ {
$$.count = 4; $$.count = 4;
$$.data[0] = $2; $$.data[0].f = $2;
$$.data[1] = 0.0f; $$.data[1].f = 0.0f;
$$.data[2] = 0.0f; $$.data[2].f = 0.0f;
$$.data[3] = 1.0f; $$.data[3].f = 1.0f;
} }
| '{' signedFloatConstant ',' signedFloatConstant '}' | '{' signedFloatConstant ',' signedFloatConstant '}'
{ {
$$.count = 4; $$.count = 4;
$$.data[0] = $2; $$.data[0].f = $2;
$$.data[1] = $4; $$.data[1].f = $4;
$$.data[2] = 0.0f; $$.data[2].f = 0.0f;
$$.data[3] = 1.0f; $$.data[3].f = 1.0f;
} }
| '{' signedFloatConstant ',' signedFloatConstant ',' | '{' signedFloatConstant ',' signedFloatConstant ','
signedFloatConstant '}' signedFloatConstant '}'
{ {
$$.count = 4; $$.count = 4;
$$.data[0] = $2; $$.data[0].f = $2;
$$.data[1] = $4; $$.data[1].f = $4;
$$.data[2] = $6; $$.data[2].f = $6;
$$.data[3] = 1.0f; $$.data[3].f = 1.0f;
} }
| '{' signedFloatConstant ',' signedFloatConstant ',' | '{' signedFloatConstant ',' signedFloatConstant ','
signedFloatConstant ',' signedFloatConstant '}' signedFloatConstant ',' signedFloatConstant '}'
{ {
$$.count = 4; $$.count = 4;
$$.data[0] = $2; $$.data[0].f = $2;
$$.data[1] = $4; $$.data[1].f = $4;
$$.data[2] = $6; $$.data[2].f = $6;
$$.data[3] = $8; $$.data[3].f = $8;
} }
; ;

View File

@@ -23,6 +23,7 @@
#pragma once #pragma once
#include "main/config.h" #include "main/config.h"
#include "program/prog_parameter.h"
struct gl_context; struct gl_context;
@@ -96,7 +97,7 @@ struct asm_symbol {
struct asm_vector { struct asm_vector {
unsigned count; unsigned count;
float data[4]; gl_constant_value data[4];
}; };