-
Notifications
You must be signed in to change notification settings - Fork 795
[Bindless][Exp] Windows & DX12 interop. Semaphore ops can take values. #13860
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bindless][Exp] Windows & DX12 interop. Semaphore ops can take values. #13860
Conversation
The following PI functions have been added to support importing various external handle types for both memory and semaphores: - `piextImportExternalMemory` - `piextImportExternalSemaphore` The following PI functions and their corresponding `pi2ur` functions are now deprecated: - `piextImportExternalSemaphoreOpaqueFD` - `piextMemImportOpaqueFD` All Vulkan tests have been updated to work on both Windows and Linux. Comments have been added to the Vulkan test files to make it easier to read and understand the code. Support has been added for interoperability of certain DirectX 12 resources, namely dedicated memory resources and fences. A test has been added that uses both functionalities. Support has been added for semaphore operations to take values passed by the user. The semaphore will either signal a given value, or wait for a value of the user's choice.
Associated UR PR: oneapi-src/unified-runtime#1639 |
sycl/test-e2e/bindless_images/dx12_interop/read_write_unsampled.h
Outdated
Show resolved
Hide resolved
@@ -1712,10 +1721,18 @@ descriptor struct. | |||
```cpp | |||
namespace sycl::ext::oneapi::experimental { | |||
|
|||
// Types of external semaphore handles | |||
enum class external_semaphore_handle_type { | |||
opaque_fd = 0, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not: You could maybe write that opaque_fd isn't supported on windows.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added some minor notes to clarify that opaque_fd
is only supported on linux based systems. I think going more into depth about which handle types are supported by which operating systems is beyond the scope of this document, and advanced users who want to use the interop APIs will have to know this already when exporting handles from third-party APIs before they even reach SYCL.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oneapi-src/unified-runtime#1639 has now been merged, please merge in the latest changes from the sycl branch, then update the UR repo/tag/comment as suggested.
@intel/llvm-gatekeepers please merge |
The following PI functions have been added to support importing various external handle types for both memory and semaphores:
piextImportExternalMemory
piextImportExternalSemaphore
The following PI functions and their corresponding
pi2ur
functions are now deprecated:piextImportExternalSemaphoreOpaqueFD
piextMemImportOpaqueFD
All Vulkan tests have been updated to work on both Windows and Linux. Comments have been added to the Vulkan test files to make it easier to read and understand the code.
Support has been added for interoperability of certain DirectX 12 resources, namely dedicated memory resources and fences. A test has been added that uses both functionalities.
Support has been added for semaphore operations to take values passed by the user. The semaphore will either signal a given value, or wait for a value of the user's choice.