DPC++ Runtime
Runtime libraries for oneAPI DPC++
bindless_images_interop.hpp
Go to the documentation of this file.
1 //==----------- bindless_images_interop.hpp --- SYCL bindless images -------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #pragma once
10 
11 #include <ur_api.h>
12 
13 #include <stddef.h> // for size_t
14 
15 namespace sycl {
16 inline namespace _V1 {
17 namespace ext::oneapi::experimental {
18 
19 // Types of external memory handles
21  opaque_fd = 0,
22  win32_nt_handle = 1,
24 };
25 
26 // Types of external semaphore handles
28  opaque_fd = 0,
29  win32_nt_handle = 1,
31 };
32 
35  using raw_handle_type = ur_exp_interop_mem_handle_t;
37 };
38 
41  using raw_handle_type = ur_exp_interop_semaphore_handle_t;
44 };
45 
46 // External resource file descriptor type
47 struct resource_fd {
49 };
50 
51 // Windows external handle type
53  void *handle;
54 };
55 
56 // Windows external name type
58  const void *name;
59 };
60 
62 template <typename ResourceType> struct external_mem_descriptor {
63  ResourceType external_resource;
65  size_t size_in_bytes;
66 };
67 
68 // Opaque external semaphore descriptor type
69 template <typename ResourceType> struct external_semaphore_descriptor {
70  ResourceType external_resource;
72 };
73 
74 } // namespace ext::oneapi::experimental
75 } // namespace _V1
76 } // namespace sycl
Definition: access.hpp:18