diff options
author | Dave Airlie <[email protected]> | 2011-05-18 17:27:39 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2011-05-18 17:31:51 +1000 |
commit | bb31ecf4fb5b2dc9bad801397562535bf38ccf9b (patch) | |
tree | 96ecd9e731bb10210c75973b046dda5c84afdd1b /src/mesa | |
parent | 6bd8647b54054a59bdb4f0c170c4481eaadc81ff (diff) |
mesa/st: split updating vertex and fragment shader stages.
this seems like a logical thing to do and sets the correct st flags
for vertex textures.
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/state_tracker/st_atom.c | 1 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_atom.h | 1 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_atom_texture.c | 18 |
3 files changed, 12 insertions, 8 deletions
diff --git a/src/mesa/state_tracker/st_atom.c b/src/mesa/state_tracker/st_atom.c index bf160fe1080..e1eac818e11 100644 --- a/src/mesa/state_tracker/st_atom.c +++ b/src/mesa/state_tracker/st_atom.c @@ -56,6 +56,7 @@ static const struct st_tracked_state *atoms[] = &st_update_scissor, &st_update_blend, &st_update_sampler, + &st_update_vertex_texture, &st_update_texture, &st_update_framebuffer, &st_update_msaa, diff --git a/src/mesa/state_tracker/st_atom.h b/src/mesa/state_tracker/st_atom.h index 6a5ea365ebc..930a08444ab 100644 --- a/src/mesa/state_tracker/st_atom.h +++ b/src/mesa/state_tracker/st_atom.h @@ -60,6 +60,7 @@ extern const struct st_tracked_state st_update_blend; extern const struct st_tracked_state st_update_msaa; extern const struct st_tracked_state st_update_sampler; extern const struct st_tracked_state st_update_texture; +extern const struct st_tracked_state st_update_vertex_texture; extern const struct st_tracked_state st_finalize_textures; extern const struct st_tracked_state st_update_fs_constants; extern const struct st_tracked_state st_update_gs_constants; diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index 990b50438f0..072eb977ebb 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -317,20 +317,22 @@ update_fragment_textures(struct st_context *st) st->state.sampler_views); } -static void -update_textures(struct st_context *st) -{ - update_fragment_textures(st); - update_vertex_textures(st); -} - const struct st_tracked_state st_update_texture = { "st_update_texture", /* name */ { /* dirty */ _NEW_TEXTURE, /* mesa */ ST_NEW_FRAGMENT_PROGRAM, /* st */ }, - update_textures /* update */ + update_fragment_textures /* update */ +}; + +const struct st_tracked_state st_update_vertex_texture = { + "st_update_vertex_texture", /* name */ + { /* dirty */ + _NEW_TEXTURE, /* mesa */ + ST_NEW_VERTEX_PROGRAM, /* st */ + }, + update_vertex_textures /* update */ }; static void |