summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_atom_fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/state_tracker/st_atom_fs.c')
-rw-r--r--src/mesa/state_tracker/st_atom_fs.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/state_tracker/st_atom_fs.c b/src/mesa/state_tracker/st_atom_fs.c
index 91e58f5831..340c7ec69f 100644
--- a/src/mesa/state_tracker/st_atom_fs.c
+++ b/src/mesa/state_tracker/st_atom_fs.c
@@ -177,11 +177,13 @@ static void update_fs( struct st_context *st )
/* if new binding, or shader has changed */
if (st->fp != stfp || stfp->dirty) {
- /* Bind the program */
- st->fp = stfp;
if (stfp->dirty)
- st->state.fs = st_translate_fragment_shader( st, st->fp );
+ (void) st_translate_fragment_shader( st, stfp );
+
+ /* Bind the vertex program and TGSI shader */
+ st->fp = stfp;
+ st->state.fs = stfp->fs;
st->pipe->bind_fs_state(st->pipe, st->state.fs->data);
}