diff options
author | Brian <[email protected]> | 2007-09-25 14:29:11 -0600 |
---|---|---|
committer | Brian <[email protected]> | 2007-09-25 14:29:11 -0600 |
commit | 40c543eb71368c646259afb87d5c76551f6b45b7 (patch) | |
tree | 1e0c89610cc347607580fb4044e08bb0a060739e /src/mesa/state_tracker/st_atom.h | |
parent | f9ed2fdaace0d4d7f091a4423a8638945e920b0d (diff) |
Translate mesa vertex/fragment programs to TGSI programs at same time to do proper linking.
Previously, programs were translated independently during validation.
The problem is the translation to TGSI format, which packs shader
input/outputs into continuous slots, depends on which vertex program is
being paired with which fragment shader. Now, we look at the outputs
of the vertex program in conjunction with the inputs of the fragment shader
to be sure the attributes match up correctly.
The new 'linked_program_pair' class keeps track of the associations
between vertex and fragment shaders. It's also the place where the TGSI
tokens are kept since they're no longer per-program state but per-linkage.
Still a few loose ends, like implementing some kind of hash/lookup table
for linked_program_pairs.
Diffstat (limited to 'src/mesa/state_tracker/st_atom.h')
-rw-r--r-- | src/mesa/state_tracker/st_atom.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_atom.h b/src/mesa/state_tracker/st_atom.h index 6710c1a2695..94cb7bee7a7 100644 --- a/src/mesa/state_tracker/st_atom.h +++ b/src/mesa/state_tracker/st_atom.h @@ -49,8 +49,7 @@ const struct st_tracked_state st_update_clip; const struct st_tracked_state st_update_clear_color; const struct st_tracked_state st_update_depth_stencil; const struct st_tracked_state st_update_tnl; -const struct st_tracked_state st_update_fs; -const struct st_tracked_state st_update_vs; +const struct st_tracked_state st_update_shader; const struct st_tracked_state st_update_rasterizer; const struct st_tracked_state st_update_polygon_stipple; const struct st_tracked_state st_update_viewport; |