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.

Attachment: pgpvXVBlTIgJj.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to