mesa: use gl_constant_value type in ARB program parser
authorBrian Paul <brianp@vmware.com>
Thu, 4 Aug 2011 22:00:06 +0000 (16:00 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 4 Aug 2011 22:00:06 +0000 (16:00 -0600)
src/mesa/program/program_parse.y
src/mesa/program/program_parser.h

index dbf5abaa6177c6ee968a79d32c2e4bf8a681a152..dec35038be5db6841edafd3569b0155bda3a7bee 100644 (file)
@@ -1854,64 +1854,64 @@ paramConstUse: paramConstScalarUse | paramConstVector;
 paramConstScalarDecl: signedFloatConstant
        {
           $$.count = 4;
-          $$.data[0] = $1;
-          $$.data[1] = $1;
-          $$.data[2] = $1;
-          $$.data[3] = $1;
+          $$.data[0].f = $1;
+          $$.data[1].f = $1;
+          $$.data[2].f = $1;
+          $$.data[3].f = $1;
        }
        ;
 
 paramConstScalarUse: REAL
        {
           $$.count = 1;
-          $$.data[0] = $1;
-          $$.data[1] = $1;
-          $$.data[2] = $1;
-          $$.data[3] = $1;
+          $$.data[0].f = $1;
+          $$.data[1].f = $1;
+          $$.data[2].f = $1;
+          $$.data[3].f = $1;
        }
        | INTEGER
        {
           $$.count = 1;
-          $$.data[0] = (float) $1;
-          $$.data[1] = (float) $1;
-          $$.data[2] = (float) $1;
-          $$.data[3] = (float) $1;
+          $$.data[0].f = (float) $1;
+          $$.data[1].f = (float) $1;
+          $$.data[2].f = (float) $1;
+          $$.data[3].f = (float) $1;
        }
        ;
 
 paramConstVector: '{' signedFloatConstant '}'
        {
           $$.count = 4;
-          $$.data[0] = $2;
-          $$.data[1] = 0.0f;
-          $$.data[2] = 0.0f;
-          $$.data[3] = 1.0f;
+          $$.data[0].f = $2;
+          $$.data[1].f = 0.0f;
+          $$.data[2].f = 0.0f;
+          $$.data[3].f = 1.0f;
        }
        | '{' signedFloatConstant ',' signedFloatConstant '}'
        {
           $$.count = 4;
-          $$.data[0] = $2;
-          $$.data[1] = $4;
-          $$.data[2] = 0.0f;
-          $$.data[3] = 1.0f;
+          $$.data[0].f = $2;
+          $$.data[1].f = $4;
+          $$.data[2].f = 0.0f;
+          $$.data[3].f = 1.0f;
        }
        | '{' signedFloatConstant ',' signedFloatConstant ','
               signedFloatConstant '}'
        {
           $$.count = 4;
-          $$.data[0] = $2;
-          $$.data[1] = $4;
-          $$.data[2] = $6;
-          $$.data[3] = 1.0f;
+          $$.data[0].f = $2;
+          $$.data[1].f = $4;
+          $$.data[2].f = $6;
+          $$.data[3].f = 1.0f;
        }
        | '{' signedFloatConstant ',' signedFloatConstant ','
               signedFloatConstant ',' signedFloatConstant '}'
        {
           $$.count = 4;
-          $$.data[0] = $2;
-          $$.data[1] = $4;
-          $$.data[2] = $6;
-          $$.data[3] = $8;
+          $$.data[0].f = $2;
+          $$.data[1].f = $4;
+          $$.data[2].f = $6;
+          $$.data[3].f = $8;
        }
        ;
 
index 8e5aaee95e5bec1eab4000832a6f362ee9effc7a..5637598f3b37007ce09a417793a765d7b3abf0df 100644 (file)
@@ -23,6 +23,7 @@
 #pragma once
 
 #include "main/config.h"
+#include "program/prog_parameter.h"
 
 struct gl_context;
 
@@ -96,7 +97,7 @@ struct asm_symbol {
 
 struct asm_vector {
    unsigned count;
-   float    data[4];
+   gl_constant_value data[4];
 };