diff options
| -rw-r--r-- | src/gallium/include/pipe/p_state.h | 1 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_atom_shader.c | 2 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_program.c | 2 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_program.h | 3 | 
4 files changed, 5 insertions, 3 deletions
| diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 15c88881eb..ddf3c1c79b 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -162,7 +162,6 @@ struct pipe_shader_state     const struct tgsi_token *tokens;     ubyte num_inputs;     ubyte num_outputs; -   ubyte input_map[PIPE_MAX_SHADER_INPUTS]; /* XXX this may be temporary */     ubyte input_semantic_name[PIPE_MAX_SHADER_INPUTS]; /**< TGSI_SEMANTIC_x */     ubyte input_semantic_index[PIPE_MAX_SHADER_INPUTS];     ubyte output_semantic_name[PIPE_MAX_SHADER_OUTPUTS]; /**< TGSI_SEMANTIC_x */ diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c index b67b620eaa..10c131d554 100644 --- a/src/mesa/state_tracker/st_atom_shader.c +++ b/src/mesa/state_tracker/st_atom_shader.c @@ -227,7 +227,7 @@ find_translated_vp(struct st_context *st,              if (fpInAttrib >= 0) {                 GLuint fpInSlot = stfp->input_to_slot[fpInAttrib];                 if (fpInSlot != ~0) { -                  GLuint vpOutSlot = stfp->cso->state.input_map[fpInSlot]; +                  GLuint vpOutSlot = stfp->input_map[fpInSlot];                    xvp->output_to_slot[outAttr] = vpOutSlot;                    numVpOuts++;                 } diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index dc992ee9c2..aa252c845a 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -311,7 +311,7 @@ st_translate_fragment_program(struct st_context *st,           defaultInputMapping[attr] = slot; -         fs.input_map[slot] = vslot++; +         stfp->input_map[slot] = vslot++;           fs.num_inputs++; diff --git a/src/mesa/state_tracker/st_program.h b/src/mesa/state_tracker/st_program.h index 25cf3e94a8..31558af6ce 100644 --- a/src/mesa/state_tracker/st_program.h +++ b/src/mesa/state_tracker/st_program.h @@ -57,6 +57,9 @@ struct st_fragment_program     GLuint input_to_slot[FRAG_ATTRIB_MAX];  /**< Maps FRAG_ATTRIB_x to slot */     GLuint num_input_slots; +   /** map FP input back to VP output */ +   GLuint input_map[PIPE_MAX_SHADER_INPUTS]; +     /** The program in TGSI format */     struct tgsi_token tokens[ST_MAX_SHADER_TOKENS]; | 
