INTEL_DEBUG=reemit was breaking streamout tests, by re-emitting
3DSTATE_SO_BUFFER commands that tell the HW to zero the SO write
offsets. We would need to alter them to use 0xFFFFFFFF for the offset.
Also, have each upload function only flag bits relevant to its own
pipeline.
if (ice->state.predicate == IRIS_PREDICATE_STATE_DONT_RENDER)
return;
+ /* We can't safely re-emit 3DSTATE_SO_BUFFERS because it may zero the
+ * write offsets, changing the behavior.
+ */
if (unlikely(INTEL_DEBUG & DEBUG_REEMIT))
- ice->state.dirty |= ~0ull;
+ ice->state.dirty |= IRIS_ALL_DIRTY_FOR_RENDER & ~IRIS_DIRTY_SO_BUFFERS;
iris_batch_maybe_flush(batch, 1500);
return;
if (unlikely(INTEL_DEBUG & DEBUG_REEMIT))
- ice->state.dirty |= ~0ull;
+ ice->state.dirty |= IRIS_ALL_DIRTY_FOR_COMPUTE;
iris_batch_maybe_flush(batch, 1500);