- /* Initialize the SVBI 0 register to zero and set the maximum index.
- * These values will be sent to the hardware on the next draw.
+ /* 3DSTATE_GS_SVB_INDEX is non-pipelined. */
+ intel_emit_post_sync_nonzero_flush(brw);
+
+ /* Initialize the SVBI 0 register to zero and set the maximum index. */
+ BEGIN_BATCH(4);
+ OUT_BATCH(_3DSTATE_GS_SVB_INDEX << 16 | (4 - 2));
+ OUT_BATCH(0); /* SVBI 0 */
+ OUT_BATCH(0); /* starting index */
+ OUT_BATCH(max_index);
+ ADVANCE_BATCH();
+
+ /* Initialize the rest of the unused streams to sane values. Otherwise,
+ * they may indicate that there is no room to write data and prevent
+ * anything from happening at all.