[Mesa-dev] [PATCH 7/9] anv: Implement VK_KHX_external_semaphore_fd
Chris Wilson
chris at chris-wilson.co.uk
Tue Feb 28 23:04:38 UTC 2017
On Tue, Feb 28, 2017 at 08:56:45AM -0800, Jason Ekstrand wrote:
> + if (handleTypes == 0) {
> + /* The DRM execbuffer ioctl always execute in-oder, even between
> + * different rings. As such, a dummy no-op semaphore is a perfectly
> + * valid implementation.
That's not quite true. Each engine is its own timeline within the context.
Every execbuf on a particular ring is executed in submission order.
Between rings, order is based on dependencies - batches that only share
read access to the same buffers (or nothing shared) will be executed in
parallel, but any writes impose a strong ordering between the engines.
(That being the basis of TYPE_BO.)
I don't think it affects anv since there is only a single render queue,
but I think the explanation of TYPE_DUMMY needs a little more fleshing
out to avoid leaving a trap behind.
-Chris
> + */
> + semaphore->permanent.type = ANV_SEMAPHORE_TYPE_DUMMY;
--
Chris Wilson, Intel Open Source Technology Centre
More information about the mesa-dev
mailing list