[Mesa-dev] [PATCH] i965: Drop need_workaround_flush flag; always do post-sync workaround.

Eric Anholt eric at anholt.net
Mon Feb 3 18:16:36 CET 2014


Kenneth Graunke <kenneth at 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 <kenneth at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140203/65329530/attachment.pgp>


More information about the mesa-dev mailing list