summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_program.h
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-08-18 16:10:01 -0600
committerBrian Paul <brian.paul@tungstengraphics.com>2008-08-18 16:10:01 -0600
commite3f3e22cf7e9af4c5416d37329b7b8ee50f0cfcb (patch)
tree72bb600a6411be0008bd3021a336dbc3ba8680c4 /src/mesa/state_tracker/st_program.h
parent90a1c6e4032571a1c3e43daeb357068ba14136fe (diff)
gallium: fix vertex program output translation/mapping bug
In some cases, the vertex program output's semantic info didn't match up with the fragment program's input semantic info. This info is now explicitly passed into the st_translate_fragment_program() function.
Diffstat (limited to 'src/mesa/state_tracker/st_program.h')
-rw-r--r--src/mesa/state_tracker/st_program.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_program.h b/src/mesa/state_tracker/st_program.h
index 086e9391aa..078e2c42a6 100644
--- a/src/mesa/state_tracker/st_program.h
+++ b/src/mesa/state_tracker/st_program.h
@@ -58,6 +58,9 @@ struct st_fragment_program
/** map FP input back to VP output */
GLuint input_map[PIPE_MAX_SHADER_INPUTS];
+ ubyte input_semantic_name[PIPE_MAX_SHADER_INPUTS];
+ ubyte input_semantic_index[PIPE_MAX_SHADER_INPUTS];
+
struct pipe_shader_state state;
void *driver_shader;
@@ -143,6 +146,9 @@ st_translate_fragment_program(struct st_context *st,
extern void
st_translate_vertex_program(struct st_context *st,
struct st_vertex_program *vp,
- const GLuint vert_output_to_slot[]);
+ const GLuint vert_output_to_slot[],
+ const ubyte *fs_input_semantic_name,
+ const ubyte *fs_input_semantic_index);
+
#endif