Re: [Intel-gfx] [PATCH v10] drm/i915: Squash repeated awaits on the same fence

2017-04-28 Thread Chris Wilson
On Fri, Apr 28, 2017 at 10:55:09AM +0100, Tvrtko Ursulin wrote: > > On 28/04/2017 08:41, Chris Wilson wrote: > > [snip] > > >+static int igt_sync(void *arg) > >+{ > >+const struct { > >+const char *name; > >+u32 seqno; > >+bool expected; > >+bo

Re: [Intel-gfx] [PATCH v10] drm/i915: Squash repeated awaits on the same fence

2017-04-28 Thread Tvrtko Ursulin
On 28/04/2017 08:41, Chris Wilson wrote: [snip] +static int igt_sync(void *arg) +{ + const struct { + const char *name; + u32 seqno; + bool expected; + bool set; + } pass[] = { + { "unset", 0, false, false }, +

Re: [Intel-gfx] [PATCH v10] drm/i915: Squash repeated awaits on the same fence

2017-04-28 Thread Chris Wilson
On Fri, Apr 28, 2017 at 10:32:58AM +0100, Tvrtko Ursulin wrote: > > On 28/04/2017 08:41, Chris Wilson wrote: > >Track the latest fence waited upon on each context, and only add a new > >asynchronous wait if the new fence is more recent than the recorded > >fence for that context. This requires us

Re: [Intel-gfx] [PATCH v10] drm/i915: Squash repeated awaits on the same fence

2017-04-28 Thread Tvrtko Ursulin
On 28/04/2017 08:41, Chris Wilson wrote: Track the latest fence waited upon on each context, and only add a new asynchronous wait if the new fence is more recent than the recorded fence for that context. This requires us to filter out unordered timelines, which are noted by DMA_FENCE_NO_CONTEXT.

Re: [Intel-gfx] [PATCH v10] drm/i915: Squash repeated awaits on the same fence

2017-04-28 Thread Chris Wilson
On Fri, Apr 28, 2017 at 08:41:36AM +0100, Chris Wilson wrote: > Track the latest fence waited upon on each context, and only add a new > asynchronous wait if the new fence is more recent than the recorded > fence for that context. This requires us to filter out unordered > timelines, which are note

[Intel-gfx] [PATCH v10] drm/i915: Squash repeated awaits on the same fence

2017-04-28 Thread Chris Wilson
Track the latest fence waited upon on each context, and only add a new asynchronous wait if the new fence is more recent than the recorded fence for that context. This requires us to filter out unordered timelines, which are noted by DMA_FENCE_NO_CONTEXT. However, in the absence of a universal iden