[Mesa-dev] [PATCH 2/9] anv: Add a real semaphore struct

Jason Ekstrand jason at jlekstrand.net
Tue Feb 28 22:04:17 UTC 2017


On Tue, Feb 28, 2017 at 1:59 PM, Chris Wilson <chris at chris-wilson.co.uk>
wrote:

> On Tue, Feb 28, 2017 at 08:56:40AM -0800, Jason Ekstrand wrote:
> > It's just a dummy for now, but we'll flesh it out as needed for external
> > semaphores.
> > ---
> >  src/intel/vulkan/anv_private.h | 15 +++++++++++++++
> >  src/intel/vulkan/anv_queue.c   | 30 ++++++++++++++++++++++++------
> >  2 files changed, 39 insertions(+), 6 deletions(-)
> >
> > diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_
> private.h
> > index 816ee8a..a2e077a 100644
> > --- a/src/intel/vulkan/anv_private.h
> > +++ b/src/intel/vulkan/anv_private.h
> > @@ -1365,6 +1365,20 @@ struct anv_event {
> >     struct anv_state                             state;
> >  };
> >
> > +enum anv_semaphore_type {
> > +   ANV_SEMAPHORE_TYPE_NONE = 0,
> > +   ANV_SEMAPHORE_TYPE_DUMMY
> > +};
> > +
> > +struct anv_semaphore_impl {
> > +   enum anv_semaphore_type type;
> > +};
> > +
> > +struct anv_semaphore {
> > +   struct anv_semaphore_impl permanent;
> > +   struct anv_semaphore_impl temporary;
> > +};
>
> Are temporary, permanent terms from the Vk spec?
>

Yes.


> My understanding is that the temporary semaphore is a snapshot of the
> fences (sync_file), used once then reset. The permanent semaphore is a
> reservation_object (accessed via a bo), it is a volatile collection of
> fences that serves as a communication channel between processes.
>

Essentially, yes.  The semantics are a tiny bit different from that, but
it's close.  I'll add a comment.


> A synopsis of the differences and use would be invaluable.
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170228/03b2d906/attachment.html>


More information about the mesa-dev mailing list