20 inline namespace _V1 {
28 auto Iter = std::find_if(std::begin(MMemObjs), std::end(MMemObjs),
29 [=](ReqToMem Elem) {
return (Elem.first == Req); });
31 if (Iter == std::end(MMemObjs)) {
33 "Invalid memory object used inside interop");
36 auto Plugin = MQueue->getPlugin();
37 ur_native_handle_t Handle;
38 Plugin->call<detail::UrApiKind::urMemGetNativeHandle>(
39 Iter->second, MDevice->getHandleRef(), &Handle);
43 ur_native_handle_t interop_handle::getNativeDevice()
const {
44 return MDevice->getNative();
47 ur_native_handle_t interop_handle::getNativeContext()
const {
48 return MContext->getNative();
52 interop_handle::getNativeQueue(int32_t &NativeHandleDesc)
const {
53 return MQueue->getNative(NativeHandleDesc);
backend get_backend() const noexcept
Returns a backend associated with the queue associated with this interop_handle.
backend getImplBackend(const T &Impl)
std::error_code make_error_code(sycl::errc E) noexcept
Constructs an error code using e and sycl_category()
_Abi const simd< _Tp, _Abi > & noexcept