-
Notifications
You must be signed in to change notification settings - Fork 126
Clarify dependencies between cl_khr_semaphore and cl_khr_external_semaphore #944
Description
cl_khr_semaphore provides basic support for semaphore creation and wait/signal operations on them.
cl_khr_external_semaphore provides mechanism to import semaphores into OpenCL and export semaphores from OpenCL.
While being able to export semaphores from OpenCL requires OpenCL to be able to create semaphores and for some semaphore handle types like SYNC_FD, semaphores inherently require both import and export functionalities to work properly, for some other semaphore handle types (like OPAQUE_FD and WIN32) semaphores can be independently imported and/or exported.
So, for implementations just willing to support importing semaphores in OpenCL, semaphore creation is strictly not required.
cl_khr_external_semaphore depends on cl_khr_semaphore, but cl_khr_external_semaphore spec says (largely to facilitate import-only scenario described above)
clCreateSemaphoreWithPropertiesKHR may return a NULL value on some implementations if sema_props does not contain an external semaphore handle type to import. Such implementations are required to return a valid semaphore when a supported external memory handle type and valid external semaphore handle is specified.
This makes cl_khr_semaphore base functional guarantees ambiguous as cl_khr_external_semaphore leads to subtracting functionality provided by required cl_khr_semaphore.
This issue is to track any spec / CTS changes needed to remove inconsistencies in the descriptions.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status