From 95348b1a84f6412fa796638a6adb36fab3142047 Mon Sep 17 00:00:00 2001 From: Ben Widawsky Date: Thu, 1 Jan 2015 15:58:26 -0800 Subject: [PATCH] i965: Don't enable streamout for null state The last few patches worked on initializing the streamout logic. INSTDONE_0: 0xffdf7c19 - suggests either we die on the VF or somewhere at the end of the geometry pipeline. The hang: 0x05ba2408: 0x78080007: 3DSTATE_VERTEX_BUFFERS 0x05ba240c: 0x00014024: Vertex Buffer State 0: 0x05ba2410: 0x0ab6dfc8: 0x05ba2414: 0x0ab72fff: 0x05ba2418: 0x00000000: Seems totally fine. So the only guess I have, the one piece of state we've been messing with in the last patches actually do invoke the vertex fetcher to do stuff. I accidentally left it enabled even for the NULL state beforehand. Signed-off-by: Ben Widawsky --- src/mesa/drivers/dri/i965/gen7_sol_state.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/gen7_sol_state.c b/src/mesa/drivers/dri/i965/gen7_sol_state.c index 109a62e..5ee1ac0 100644 --- a/src/mesa/drivers/dri/i965/gen7_sol_state.c +++ b/src/mesa/drivers/dri/i965/gen7_sol_state.c @@ -230,7 +230,9 @@ upload_3dstate_streamout(struct brw_context *brw, bool active, int urb_entry_read_length = (vue_map->num_slots + 1) / 2 - urb_entry_read_offset; - dw1 |= SO_FUNCTION_ENABLE; + if (active) + dw1 |= SO_FUNCTION_ENABLE; + dw1 |= SO_STATISTICS_ENABLE; /* _NEW_LIGHT */ -- 2.2.1