radeonsi: Only honour point related rasterizer state when rendering points.
authorMichel Dänzer <michel.daenzer@amd.com>
Fri, 18 May 2012 13:40:34 +0000 (15:40 +0200)
committerMichel Dänzer <michel@daenzer.net>
Fri, 18 May 2012 16:13:56 +0000 (18:13 +0200)
Avoids hangs when not rendering points.

src/gallium/drivers/radeonsi/r600_state_common.c

index ca5578b397d99b2fc34edac1fbcc16afff7b2b7c..697dc30b287897111d47c665ce5be2b1d5c7608e 100644 (file)
@@ -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 ||