On Tue, Feb 28, 2017 at 3:04 PM, Chris Wilson <ch...@chris-wilson.co.uk> wrote:
> 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. > You're correct. Thanks for pointing that out. I'll fix the comment to not say stupid things about different rings. > -Chris > > > + */ > > + semaphore->permanent.type = ANV_SEMAPHORE_TYPE_DUMMY; > > -- > Chris Wilson, Intel Open Source Technology Centre >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev