r600g: don't emit forbidden reg with old kernel on evergreen
authorJerome Glisse <jglisse@redhat.com>
Mon, 23 Jul 2012 15:42:36 +0000 (11:42 -0400)
committerJerome Glisse <jglisse@redhat.com>
Mon, 23 Jul 2012 15:42:36 +0000 (11:42 -0400)
Fix https://bugs.freedesktop.org/show_bug.cgi?id=52313

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
src/gallium/drivers/r600/evergreen_state.c

index 61d893bacee06a66c3749bcd9c9f2d0c8a43d705..654aeff5a326658034fc7f5539023a379c2297d1 100644 (file)
@@ -2595,7 +2595,9 @@ void evergreen_init_atom_start_cs(struct r600_context *rctx)
 
        r600_store_context_reg(cb, R_028354_SX_SURFACE_SYNC, S_028354_SURFACE_SYNC_MASK(0xf));
        r600_store_context_reg(cb, R_028800_DB_DEPTH_CONTROL, 0);
-       r600_store_context_reg(cb, R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, 0);
+       if (rctx->screen->has_streamout) {
+               r600_store_context_reg(cb, R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET, 0);
+       }
 
        eg_store_loop_const(cb, R_03A200_SQ_LOOP_CONST_0, 0x01000FFF);
        eg_store_loop_const(cb, R_03A200_SQ_LOOP_CONST_0 + (32 * 4), 0x01000FFF);