diff options
author | Brian <brian.paul@tungstengraphics.com> | 2007-08-16 17:33:49 -0600 |
---|---|---|
committer | Brian <brian.paul@tungstengraphics.com> | 2007-08-16 17:33:49 -0600 |
commit | e3bdd66bf69fb12fa02d161989755944077b280d (patch) | |
tree | 51e02d74648ad379499ef8d338988e57b4f24f65 /src/mesa/state_tracker/st_atom_fs.c | |
parent | bf55f32c6fd74b8eb0b31dce0ebd8f4c52f57743 (diff) |
misc changes to support vertex shaders (disabled by default)
Diffstat (limited to 'src/mesa/state_tracker/st_atom_fs.c')
-rw-r--r-- | src/mesa/state_tracker/st_atom_fs.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_atom_fs.c b/src/mesa/state_tracker/st_atom_fs.c index 9731ab6cee..9dddb18498 100644 --- a/src/mesa/state_tracker/st_atom_fs.c +++ b/src/mesa/state_tracker/st_atom_fs.c @@ -134,6 +134,9 @@ static void update_vs( struct st_context *st ) struct st_vertex_program *vp = NULL; struct gl_program_parameter_list *params = NULL; + if (st->ctx->VertexProgram._MaintainTnlProgram) + _tnl_UpdateFixedFunctionProgram( st->ctx ); + if (st->ctx->Shader.CurrentProgram && st->ctx->Shader.CurrentProgram->LinkStatus && st->ctx->Shader.CurrentProgram->VertexProgram) { @@ -148,11 +151,15 @@ static void update_vs( struct st_context *st ) } /* XXXX temp */ +#if 1 if (!vp) return; - +#endif if (vp && params) { /* load program's constants array */ + + _mesa_load_state_parameters(st->ctx, params); + vp->constants.nr_constants = params->NumParameters; memcpy(vp->constants.constant, params->ParameterValues, @@ -179,7 +186,7 @@ static void update_vs( struct st_context *st ) const struct st_tracked_state st_update_vs = { .dirty = { - .mesa = _NEW_PROGRAM, + .mesa = _NEW_PROGRAM | _NEW_MODELVIEW, .st = ST_NEW_VERTEX_PROGRAM, }, .update = update_vs |