diff options
author | Brian <[email protected]> | 2007-08-23 19:03:42 -0600 |
---|---|---|
committer | Brian <[email protected]> | 2007-08-23 19:03:42 -0600 |
commit | e967b246ecdc665d9f974d1e35380cb1cd11d61e (patch) | |
tree | 62fa8017c148482090984066532824b8b6b98426 /src/mesa/state_tracker | |
parent | 30236573dadd83714220b72b0c04f1bbce69fbd6 (diff) |
Vertex shader outputs are now tightly packed into the output slots.
Fix softpipe vertex attribute setup.
Also, update vs constants when the projection matrix changes (fixes samples/prim.c)
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_atom_vs.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/state_tracker/st_atom_vs.c b/src/mesa/state_tracker/st_atom_vs.c index 8a38020afd7..f16fe2ae944 100644 --- a/src/mesa/state_tracker/st_atom_vs.c +++ b/src/mesa/state_tracker/st_atom_vs.c @@ -113,8 +113,10 @@ static void update_vs( struct st_context *st ) /* update pipe state */ memset( &vs, 0, sizeof(vs) ); - vs.outputs_written = vp->Base.Base.OutputsWritten; - vs.inputs_read = vp->Base.Base.InputsRead; + vs.inputs_read + = tgsi_mesa_translate_vertex_input_mask(vp->Base.Base.InputsRead); + vs.outputs_written + = tgsi_mesa_translate_vertex_output_mask(vp->Base.Base.OutputsWritten); vs.tokens = &vp->tokens[0]; if (memcmp(&vs, &st->state.vs, sizeof(vs)) != 0 || @@ -129,7 +131,7 @@ static void update_vs( struct st_context *st ) const struct st_tracked_state st_update_vs = { .dirty = { - .mesa = _NEW_PROGRAM | _NEW_MODELVIEW, + .mesa = _NEW_PROGRAM | _NEW_MODELVIEW | _NEW_PROJECTION, /*XXX MORE*/ .st = ST_NEW_VERTEX_PROGRAM, }, .update = update_vs |