From f423855c80b7c2cbe41cd1feeb3d5b6a0076cef8 Mon Sep 17 00:00:00 2001 From: Ben Widawsky Date: Wed, 31 Dec 2014 19:06:13 -0800 Subject: [PATCH] i965: Also initialize the SO_DECL list Signed-off-by: Ben Widawsky --- src/mesa/drivers/dri/i965/gen7_sol_state.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/mesa/drivers/dri/i965/gen7_sol_state.c b/src/mesa/drivers/dri/i965/gen7_sol_state.c index d113cef..109a62e 100644 --- a/src/mesa/drivers/dri/i965/gen7_sol_state.c +++ b/src/mesa/drivers/dri/i965/gen7_sol_state.c @@ -268,6 +268,25 @@ upload_3dstate_streamout(struct brw_context *brw, bool active, } static void +gen7_upload_null_decl_list(struct brw_context *brw) +{ + BEGIN_BATCH(3); + OUT_BATCH(_3DSTATE_SO_DECL_LIST << 16 | 1); + + OUT_BATCH((0 << SO_STREAM_TO_BUFFER_SELECTS_0_SHIFT) | + (1 << SO_STREAM_TO_BUFFER_SELECTS_1_SHIFT) | + (2 << SO_STREAM_TO_BUFFER_SELECTS_2_SHIFT) | + (3 << SO_STREAM_TO_BUFFER_SELECTS_3_SHIFT)); + + OUT_BATCH((0 << SO_NUM_ENTRIES_0_SHIFT) | + (0 << SO_NUM_ENTRIES_1_SHIFT) | + (0 << SO_NUM_ENTRIES_2_SHIFT) | + (0 << SO_NUM_ENTRIES_3_SHIFT)); + + ADVANCE_BATCH(); +} + +static void upload_sol_state(struct brw_context *brw) { struct gl_context *ctx = &brw->ctx; @@ -279,6 +298,8 @@ upload_sol_state(struct brw_context *brw) /* BRW_NEW_VUE_MAP_GEOM_OUT */ if (active) gen7_upload_3dstate_so_decl_list(brw, &brw->vue_map_geom_out); + else + gen7_upload_null_decl_list(brw); } /* Finally, set up the SOL stage. This command must always follow updates to -- 2.2.1