[Mesa-dev] [PATCH 2/9] anv: Add a real semaphore struct
Chris Wilson
chris at chris-wilson.co.uk
Tue Feb 28 21:59:18 UTC 2017
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?
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.
A synopsis of the differences and use would be invaluable.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the mesa-dev
mailing list