[Intel-gfx] [PATCH v2 0/2] drm/i915: timeline semaphore support

Lionel Landwerlin lionel.g.landwerlin at intel.com
Thu Jun 27 10:39:24 UTC 2019


On 27/06/2019 13:21, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2019-06-27 09:03:37)
>> Hi,
>>
>> This revision gets rid of the synchronous wait. We now implement the
>> synchronous wait as part of the userspace driver. A thread is spawned
>> for each engine and waits for availability of the syncobjs before
>> calling into execbuffer.
> Why would you do that? It's not like the kernel already has the ability
> to serialises execution asynchronously...
> -Chris
>
Maybe I didn't express myself well.

There is a requirement from the Vulkan spec that we should be able to 
queue a workload depending on fences that haven't materialized yet.


The last revision implemented that in the i915 by blocking in the 
execbuffer until the input fences had all materialized.

We moved that into the userspace driver. That makes the i915 execbuffer 
path not block (which is one thing you mentioned was a behavior change 
in rev1).

It also makes Anv not block on QueueSubmit() because it hands over the 
waiting to a thread dedicated to the queue.


-Lionel



More information about the Intel-gfx mailing list