[Intel-gfx] [PATCH] drm/i915: Don't forget to apply SNB PIPE_CONTROL GTT workaround.

Chris Wilson chris at chris-wilson.co.uk
Tue Jul 31 10:21:55 CEST 2012


On Mon, 30 Jul 2012 18:24:26 -0700, Eric Anholt <eric at anholt.net> wrote:
> If a buffer that was the target of a PIPE_CONTROL from userland was a
> reused one that hadn't been evicted which had not previously had this
> workaround applied, then we would not bind it into the GTT and the
> write would land somewhere else.
> 
> Based on a doubting-my-sanity debugging session with cworth, I'm
> pretty sure this will fix his reproducible GL_EXT_timer_query
> failures, and hopefully the intermittent OQ issues on snb that
> danvet's been working on.
> 
> I have not tested it yet, but hopefully when cworth gets home he will.

Had to look hard to find the secret ingredient. The reason why this
patch will work is that that in the middle of the error checking we have
an early success return after applying the new reloc domains iff the
object still holds the same GTT offset as presumed by the reloc.

Probably deserves a little more clarification in the changelog as to why
the patch works.

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

I think this should also fix
  https://bugs.freedesktop.org/show_bug.cgi?id=48019
but my snb has decided today is the day to hard hang instead.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list