[Mesa-dev] [PATCH 3/3] anv: Use DRM sync objects for external semaphores when available
Chris Wilson
chris at chris-wilson.co.uk
Wed Jul 5 17:53:58 UTC 2017
Quoting Jason Ekstrand (2017-07-05 18:21:08)
> static void
> anv_cmd_buffer_process_relocs(struct anv_cmd_buffer *cmd_buffer,
> struct anv_reloc_list *list)
> @@ -1450,6 +1484,14 @@ anv_cmd_buffer_execbuf(struct anv_device *device,
> impl->fd = -1;
> break;
>
> + case ANV_SEMAPHORE_TYPE_DRM_SYNCOBJ:
> + result = anv_execbuf_add_syncobj(&execbuf, impl->syncobj,
> + I915_EXEC_FENCE_WAIT,
> + &device->alloc);
A wait on an uninitialized fence is invalid (it's a user error in the Vk
spec, right?). Similarly, I understood the spec to imply that once a
fence was used for waiting, it was consumed and invalid until it was
reinitialized via a signal operation later. Do you want to tell the
kernel to clear/reset the fence back to uninitialized after a wait?
(i.e. something like FENCE_WAIT | FENCE_UNSIGNAL)
-Chris
More information about the mesa-dev
mailing list