aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2014-12-08 12:51:59 +0100
committerMarek Olšák <[email protected]>2014-12-10 21:59:37 +0100
commitacda2e113a020f9ab32d6d38a07d74f77520f462 (patch)
tree09956c7c6b85df4372168903d4be873208880d35
parent7991d602f370a1bf7ff5040ea3ee2572ee1c76ca (diff)
radeonsi: fix SPI state dependency on sprite_coord_enable
Reviewed-by: Michel Dänzer <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_state.c1
-rw-r--r--src/gallium/drivers/radeonsi/si_state_shaders.c5
2 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 59166fa7c0c..fe9666f5f99 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -700,7 +700,6 @@ static void si_bind_rs_state(struct pipe_context *ctx, void *state)
return;
// TODO
- sctx->sprite_coord_enable = rs->sprite_coord_enable;
sctx->pa_sc_line_stipple = rs->pa_sc_line_stipple;
sctx->pa_su_sc_mode_cntl = rs->pa_su_sc_mode_cntl;
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index f2717b073aa..31d5094d008 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -770,8 +770,11 @@ void si_update_shaders(struct si_context *sctx)
si_pm4_bind_state(sctx, ps, sctx->ps_shader->current->pm4);
- if (si_pm4_state_changed(sctx, ps) || si_pm4_state_changed(sctx, vs))
+ if (si_pm4_state_changed(sctx, ps) || si_pm4_state_changed(sctx, vs) ||
+ sctx->sprite_coord_enable != sctx->queued.named.rasterizer->sprite_coord_enable) {
+ sctx->sprite_coord_enable = sctx->queued.named.rasterizer->sprite_coord_enable;
si_update_spi_map(sctx);
+ }
if (sctx->ps_db_shader_control != sctx->ps_shader->current->db_shader_control) {
sctx->ps_db_shader_control = sctx->ps_shader->current->db_shader_control;