diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2009-07-22 16:03:32 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2009-07-22 16:03:32 -0700 |
commit | 28b13038d84db1c4e1e56e15d310b30ddffcb7bd (patch) | |
tree | a74c3db460c9e98da0357c1850f2c798313e2d53 /src/mesa/shader | |
parent | 5f090bb0740c424f74f21abf4b657b9b292418c5 (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.c | 4 | ||||
-rw-r--r-- | src/mesa/shader/program_parse.y | 4 |
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 40d48d597b..0ea0e24106 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 81b06ac13c..a0bec96924 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; |