From 2eacfdeec9c1bd3be291e8f9526580da331a8ec4 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 25 Aug 2017 11:27:15 -0700 Subject: anv/queue: Allow temporary import of SYNC_FD semaphores We didn't allow them before because it didn't look like the spec allowed it. It certainly doesn't make much sense. However, there are CTS tests that apparently hit this. What the spec actually says is: "Importing a payload using handle types with copy transference creates a duplicate copy of the payload at the time of import, but makes no further reference to it. Fence signaling, waiting, and resetting operations performed on the target of copy imports must not affect any other fence or payload." A SYNC_FD has copy transference but the import may be temporary or permanent. If you do a permanent import of something with copy transference, I guess it's supposed to work and end up resetting the permanent state. In any case, there seems to be no real harm in allowing it, so why not. Reviewed-by: Lionel Landwerlin --- src/intel/vulkan/anv_queue.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/intel/vulkan/anv_queue.c b/src/intel/vulkan/anv_queue.c index 0a40ebc2e60..03769beccdd 100644 --- a/src/intel/vulkan/anv_queue.c +++ b/src/intel/vulkan/anv_queue.c @@ -751,9 +751,6 @@ VkResult anv_ImportSemaphoreFdKHR( anv_semaphore_impl_cleanup(device, &semaphore->temporary); semaphore->temporary = new_impl; } else { - /* SYNC_FILE must be a temporary import */ - assert(new_impl.type != ANV_SEMAPHORE_TYPE_SYNC_FILE); - anv_semaphore_impl_cleanup(device, &semaphore->permanent); semaphore->permanent = new_impl; } -- cgit v1.2.3