parser: Ensure that param_binding_type is set correctly

This commit is contained in:
Ian Romanick 2009-07-22 16:03:32 -07:00
parent 5f090bb074
commit 28b13038d8
2 changed files with 8 additions and 0 deletions

View file

@ -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;

View file

@ -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;