1#![allow(
6 non_camel_case_types,
7 dead_code,
8 unused_variables,
9 improper_ctypes,
10 non_upper_case_globals
11)]
12
13use crate::cl_h::{
14 cl_command_queue, cl_command_type, cl_context, cl_context_info, cl_device_id, cl_event,
15 cl_image_info, cl_int, cl_mem, cl_mem_flags, cl_mem_info, cl_platform_id, cl_uint,
16};
17use libc::c_void;
18
19pub type cl_d3d11_device_source = cl_uint;
20pub type cl_d3d11_device_set = cl_uint;
21pub type cl_id3d11_buffer = *mut c_void;
22pub type cl_id3d11_texture2d = *mut c_void;
23pub type cl_id3d11_texture3d = *mut c_void;
24
25pub const CL_INVALID_D3D11_DEVICE: cl_int = -1006;
27pub const CL_INVALID_D3D11_RESOURCE: cl_int = -1007;
28pub const CL_D3D11_RESOURCE_ALREADY_ACQUIRED: cl_int = -1008;
29pub const CL_D3D11_RESOURCE_NOT_ACQUIRED: cl_int = -1009;
30
31pub const CL_D3D11_DEVICE: cl_d3d11_device_source = 0x4019;
33pub const CL_D3D11_DXGI_ADAPTER: cl_d3d11_device_source = 0x401A;
34
35pub const CL_PREFERRED_DEVICES_FOR_D3D11: cl_d3d11_device_set = 0x401B;
37pub const CL_ALL_DEVICES_FOR_D3D11: cl_d3d11_device_set = 0x401C;
38
39pub const CL_CONTEXT_D3D11_DEVICE_KHR: cl_context_info = 0x401D;
41pub const CL_CONTEXT_D3D11_PREFER_SHARED_RESOURCES: cl_context_info = 0x402D;
42
43pub const CL_MEM_D3D11_RESOURCE: cl_mem_info = 0x401E;
45
46pub const CL_IMAGE_D3D11_SUBRESOURCE: cl_image_info = 0x401F;
48
49pub const CL_COMMAND_ACQUIRE_D3D11_OBJECTS: cl_command_type = 0x4020;
51pub const CL_COMMAND_RELEASE_D3D11_OBJECTS: cl_command_type = 0x4021;
52
53pub type clGetDeviceIDsFromD3D11_fn = extern "system" fn(
54 platform: cl_platform_id,
55 d3d_device_source: cl_d3d11_device_source,
56 d3d_object: *mut c_void,
57 d3d_device_set: cl_d3d11_device_set,
58 num_entries: cl_uint,
59 devices: *mut cl_device_id,
60 num_devices: *mut cl_uint,
61) -> cl_int;
62
63pub type clCreateFromD3D11Buffer_fn = extern "system" fn(
64 context: cl_context,
65 flags: cl_mem_flags,
66 resource: cl_id3d11_buffer,
67 errcode_ret: *mut cl_int,
68) -> cl_mem;
69
70pub type clCreateFromD3D11Texture2D_fn = extern "system" fn(
71 context: cl_context,
72 flags: cl_mem_flags,
73 resource: cl_id3d11_texture2d,
74 subresource: cl_uint,
75 errcode_ret: *mut cl_int,
76) -> cl_mem;
77
78pub type clCreateFromD3D11Texture3D_fn = extern "system" fn(
79 context: cl_context,
80 flags: cl_mem_flags,
81 resource: cl_id3d11_texture3d,
82 subresource: cl_uint,
83 errcode_ret: *mut cl_int,
84) -> cl_mem;
85
86pub type clEnqueueAcquireD3D11Objects_fn = extern "system" fn(
87 command_queue: cl_command_queue,
88 num_objects: cl_uint,
89 mem_objects: *const cl_mem,
90 num_events_in_wait_list: cl_uint,
91 event_wait_list: *const cl_event,
92 event: *mut cl_event,
93) -> cl_int;
94
95pub type clEnqueueReleaseD3D11Objects_fn = extern "system" fn(
96 command_queue: cl_command_queue,
97 num_objects: cl_uint,
98 mem_objects: *const cl_mem,
99 num_events_in_wait_list: cl_uint,
100 event_wait_list: *const cl_event,
101 event: *mut cl_event,
102) -> cl_int;