summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2012-06-12 20:18:24 +0200
committerMichel Dänzer <[email protected]>2012-06-12 20:18:24 +0200
commit1657dec72d6dcb6158bb65cea2e1b6ff2445746c (patch)
tree0dddefae8767cf178dcdbc3169d6d7b9495f22ad /src/gallium
parent6d289390ec4d643e7451f9dcb35439876f361c44 (diff)
radeonsi: Don't always re-compile shaders after they're bound.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeonsi/r600_state_common.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/gallium/drivers/radeonsi/r600_state_common.c b/src/gallium/drivers/radeonsi/r600_state_common.c
index 697dc30b287..05b7946512f 100644
--- a/src/gallium/drivers/radeonsi/r600_state_common.c
+++ b/src/gallium/drivers/radeonsi/r600_state_common.c
@@ -666,12 +666,7 @@ static void si_update_derived_state(struct r600_context *rctx)
r600_flush_depth_textures(rctx);
}
- if (rctx->shader_dirty) {
- si_pipe_shader_destroy(&rctx->context, rctx->vs_shader);
- }
-
- if (rctx->shader_dirty ||
- (rctx->ps_shader->shader.fs_write_all &&
+ if ((rctx->ps_shader->shader.fs_write_all &&
(rctx->ps_shader->shader.nr_cbufs != rctx->nr_cbufs)) ||
(rctx->sprite_coord_enable &&
(rctx->ps_shader->sprite_coord_enable != rctx->sprite_coord_enable))) {