summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2008-02-26 08:43:07 -0700
committerBrian <brian.paul@tungstengraphics.com>2008-02-26 08:43:07 -0700
commitecd50ef58b034e604ff6b2fedbb0815953e510ea (patch)
tree1590d0b070785cc502d23f603595f984dad3819d
parent232a41e19faa860f083e414cb1eb38c0617e9241 (diff)
gallium: remove input_map[] from pipe_shader_state
-rw-r--r--src/gallium/include/pipe/p_state.h1
-rw-r--r--src/mesa/state_tracker/st_atom_shader.c2
-rw-r--r--src/mesa/state_tracker/st_program.c2
-rw-r--r--src/mesa/state_tracker/st_program.h3
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];