summaryrefslogtreecommitdiff
path: root/src/mesa/shader
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2009-07-22 16:03:32 -0700
committerIan Romanick <ian.d.romanick@intel.com>2009-07-22 16:03:32 -0700
commit28b13038d84db1c4e1e56e15d310b30ddffcb7bd (patch)
treea74c3db460c9e98da0357c1850f2c798313e2d53 /src/mesa/shader
parent5f090bb0740c424f74f21abf4b657b9b292418c5 (diff)
parser: Ensure that param_binding_type is set correctly
Diffstat (limited to 'src/mesa/shader')
-rw-r--r--src/mesa/shader/program_parse.tab.c4
-rw-r--r--src/mesa/shader/program_parse.y4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/shader/program_parse.tab.c b/src/mesa/shader/program_parse.tab.c
index 40d48d597b9..0ea0e241066 100644
--- a/src/mesa/shader/program_parse.tab.c
+++ b/src/mesa/shader/program_parse.tab.c
@@ -4702,6 +4702,7 @@ initialize_symbol_from_state(struct gl_program *prog,
memcpy(state_tokens, tokens, sizeof(state_tokens));
param_var->type = at_param;
+ param_var->param_binding_type = PROGRAM_STATE_VAR;
/* If we are adding a STATE_MATRIX that has multiple rows, we need to
* unroll it and call add_state_reference() for each row
@@ -4753,6 +4754,8 @@ initialize_symbol_from_param(struct gl_program *prog,
|| (state_tokens[1] == STATE_LOCAL));
param_var->type = at_param;
+ param_var->param_binding_type = (state_tokens[1] == STATE_ENV)
+ ? PROGRAM_ENV_PARAM : PROGRAM_LOCAL_PARAM;
/* If we are adding a STATE_ENV or STATE_LOCAL that has multiple elements,
* we need to unroll it and call add_state_reference() for each row
@@ -4792,6 +4795,7 @@ initialize_symbol_from_const(struct gl_program *prog,
NULL, 0x0);
param_var->type = at_param;
+ param_var->param_binding_type = PROGRAM_CONSTANT;
if (param_var->param_binding_begin == ~0U)
param_var->param_binding_begin = idx;
diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y
index 81b06ac13c9..a0bec96924a 100644
--- a/src/mesa/shader/program_parse.y
+++ b/src/mesa/shader/program_parse.y
@@ -1918,6 +1918,7 @@ initialize_symbol_from_state(struct gl_program *prog,
memcpy(state_tokens, tokens, sizeof(state_tokens));
param_var->type = at_param;
+ param_var->param_binding_type = PROGRAM_STATE_VAR;
/* If we are adding a STATE_MATRIX that has multiple rows, we need to
* unroll it and call add_state_reference() for each row
@@ -1969,6 +1970,8 @@ initialize_symbol_from_param(struct gl_program *prog,
|| (state_tokens[1] == STATE_LOCAL));
param_var->type = at_param;
+ param_var->param_binding_type = (state_tokens[1] == STATE_ENV)
+ ? PROGRAM_ENV_PARAM : PROGRAM_LOCAL_PARAM;
/* If we are adding a STATE_ENV or STATE_LOCAL that has multiple elements,
* we need to unroll it and call add_state_reference() for each row
@@ -2008,6 +2011,7 @@ initialize_symbol_from_const(struct gl_program *prog,
NULL, 0x0);
param_var->type = at_param;
+ param_var->param_binding_type = PROGRAM_CONSTANT;
if (param_var->param_binding_begin == ~0U)
param_var->param_binding_begin = idx;