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 <airlied@redhat.com>
This commit is contained in:
Dave Airlie
2011-05-18 17:27:39 +10:00
parent 6bd8647b54
commit bb31ecf4fb
3 changed files with 12 additions and 8 deletions
+1
View File
@@ -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,
+1
View File
@@ -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;
+10 -8
View File
@@ -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