r600g: only init GS_VERT_ITEMSIZE on r600
authorDave Airlie <airlied@redhat.com>
Wed, 10 Dec 2014 03:48:29 +0000 (13:48 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 10 Dec 2014 06:34:40 +0000 (16:34 +1000)
On evergreen there are 4 regs, on r600/700 there is only one.

Don't initialise regs and trash someone elses state.

Not sure this fixes anything, but hey one less stupid.

Reviewed-By: Glenn Kennard <glenn.kennard@gmail.com>
Cc: "10.3 10.4" mesa-stable@lists.freedesktop.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/r600_state.c

index 61f5c5ad001d4f6ad7bd8a92046b10af5810b52c..9a4b9725ab8646364b842453a7353f269d7baf43 100644 (file)
@@ -2659,11 +2659,8 @@ void r600_update_gs_state(struct pipe_context *ctx, struct r600_pipe_shader *sha
        r600_store_context_reg(cb, R_028A6C_VGT_GS_OUT_PRIM_TYPE,
                               r600_conv_prim_to_gs_out(rshader->gs_output_prim));
 
-       r600_store_context_reg_seq(cb, R_0288C8_SQ_GS_VERT_ITEMSIZE, 4);
-       r600_store_value(cb, cp_shader->ring_item_size >> 2);
-       r600_store_value(cb, 0);
-       r600_store_value(cb, 0);
-       r600_store_value(cb, 0);
+       r600_store_context_reg(cb, R_0288C8_SQ_GS_VERT_ITEMSIZE,
+                              cp_shader->ring_item_size >> 2);
 
        r600_store_context_reg(cb, R_0288A8_SQ_ESGS_RING_ITEMSIZE,
                               (rshader->ring_item_size) >> 2);