summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2012-05-18 15:40:34 +0200
committerMichel Dänzer <[email protected]>2012-05-18 18:13:56 +0200
commitd59b2c4b536aace43b73f48b163374b9fa5f8e11 (patch)
tree519b0b298862b7903c7810fd52b92221f028fa0b /src/gallium/drivers
parentdd9d6194599e08cc23d3a7cc354cfd0366d2caae (diff)
radeonsi: Only honour point related rasterizer state when rendering points.
Avoids hangs when not rendering points.
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/radeonsi/r600_state_common.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/r600_state_common.c b/src/gallium/drivers/radeonsi/r600_state_common.c
index ca5578b397d..697dc30b287 100644
--- a/src/gallium/drivers/radeonsi/r600_state_common.c
+++ b/src/gallium/drivers/radeonsi/r600_state_common.c
@@ -811,8 +811,9 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *dinfo)
r600_pipe_state_mod_reg(&rctx->vgt, rctx->pa_su_sc_mode_cntl);
}
r600_pipe_state_mod_reg(&rctx->vgt,
- rctx->pa_cl_vs_out_cntl /*|
- (rctx->rasterizer->clip_plane_enable & rctx->vs_shader->shader.clip_dist_write)*/);
+ prim == PIPE_PRIM_POINTS ? rctx->pa_cl_vs_out_cntl : 0
+ /*| (rctx->rasterizer->clip_plane_enable &
+ rctx->vs_shader->shader.clip_dist_write)*/);
r600_pipe_state_mod_reg(&rctx->vgt,
rctx->pa_cl_clip_cntl /*|
(rctx->vs_shader->shader.clip_dist_write ||