Kenneth Graunke <kenn...@whitecape.org> writes: > The need_workaround_flush flag was an attempt to avoid doing the > post-sync non-zero workaround flush unless it was actually necessary. > > Getting the tracking right is tricky; we've messed it up several times. > > The cost of getting this wrong is high: almost certainly a GPU hang. > The cost of always doing the flush is low: it's just another flush, > and on Sandybridge, we're doing piles of them anyway. And every time > we've added more post-sync non-zero workarounds, the system has become > more stable. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/brw_context.h | 1 - > src/mesa/drivers/dri/i965/brw_draw.c | 3 --- > src/mesa/drivers/dri/i965/gen6_blorp.cpp | 6 ------ > src/mesa/drivers/dri/i965/intel_batchbuffer.c | 12 ------------ > 4 files changed, 22 deletions(-) > > People are still getting daily GPU hangs...in the past, adding post-sync > workarounds has helped a lot. Emitting more of them should be safe to do > (the post-sync workaround doesn't require any preceding PIPE_CONTROLs), > and may help. Worth a try at least...?
If we were going to do this, I'd rather drop all the callers of emit_post_sync_nonzero_flush() and just call it once at the top of each primitive. Emitting the same stall multiple times per primitive, which this patch will do, seems silly.
pgpvXVBlTIgJj.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev