diff options
author | Brian Paul <[email protected]> | 2008-08-18 16:10:01 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-08-18 16:10:01 -0600 |
commit | e3f3e22cf7e9af4c5416d37329b7b8ee50f0cfcb (patch) | |
tree | 72bb600a6411be0008bd3021a336dbc3ba8680c4 /src/mesa/state_tracker/st_program.h | |
parent | 90a1c6e4032571a1c3e43daeb357068ba14136fe (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.h | 8 |
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 086e9391aa9..078e2c42a69 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 |