Browse Source

ARB prog parser: fix parameter binding type

References to program local and enviroment parameters are put into the
unified program parameters list as PROGRAM_STATE_VAR entries which point
into the local or environment arrays.  So the param_binding_type field
should be PROGRAM_STATE_VAR.

This fixes the piglit vpfp-generic vp-arl-env-array.vpfp and
vp-arl-local-array.vpfp test failures.
tags/mesa-7.7-1
Brian Paul 15 years ago
parent
commit
f0f68b1e4c
1 changed files with 5 additions and 2 deletions
  1. 5
    2
      src/mesa/shader/program_parse.y

+ 5
- 2
src/mesa/shader/program_parse.y View File

@@ -2516,9 +2516,12 @@ initialize_symbol_from_param(struct gl_program *prog,
assert((state_tokens[1] == STATE_ENV)
|| (state_tokens[1] == STATE_LOCAL));

/*
* The param type is STATE_VAR. The program parameter entry will
* effectively be a pointer into the LOCAL or ENV parameter array.
*/
param_var->type = at_param;
param_var->param_binding_type = (state_tokens[1] == STATE_ENV)
? PROGRAM_ENV_PARAM : PROGRAM_LOCAL_PARAM;
param_var->param_binding_type = PROGRAM_STATE_VAR;

/* 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

Loading…
Cancel
Save