2929#include <stdbool.h>
3030#include <stdlib.h>
3131
32+
33+ #ifdef _WIN32
34+ # ifdef DPPLOpenCLInterface_EXPORTS
35+ # define DPPL_API __declspec(dllexport)
36+ # else
37+ # define DPPL_API __declspec(dllimport)
38+ # endif
39+ #else
40+ # define DPPL_API
41+ #endif
42+
43+
3244enum DP_GLUE_ERROR_CODES
3345{
3446 DP_GLUE_SUCCESS = 0 ,
@@ -122,6 +134,7 @@ struct dp_runtime
122134
123135typedef struct dp_runtime * runtime_t ;
124136
137+ DPPL_API
125138int set_curr_env (runtime_t rt , env_t env );
126139
127140/*!
@@ -133,6 +146,7 @@ int set_curr_env (runtime_t rt, env_t env);
133146 * @return An error code indicating if the runtime_t object was successfully
134147 * initialized.
135148 */
149+ DPPL_API
136150int create_dp_runtime (runtime_t * rt );
137151
138152
@@ -143,21 +157,25 @@ int create_dp_runtime (runtime_t *rt);
143157 *
144158 * @return An error code indicating if resource freeing was successful.
145159 */
160+ DPPL_API
146161int destroy_dp_runtime (runtime_t * rt );
147162
148163
149164/*!
150165 *
151166 */
167+ DPPL_API
152168int create_dp_rw_mem_buffer (env_t env_t_ptr , size_t buffsize , buffer_t * buff );
153169
154170
171+ DPPL_API
155172int destroy_dp_rw_mem_buffer (buffer_t * buff );
156173
157174
158175/*!
159176 *
160177 */
178+ DPPL_API
161179int write_dp_mem_buffer_to_device (env_t env_t_ptr ,
162180 buffer_t buff ,
163181 bool blocking_copy ,
@@ -169,6 +187,7 @@ int write_dp_mem_buffer_to_device (env_t env_t_ptr,
169187/*!
170188 *
171189 */
190+ DPPL_API
172191int read_dp_mem_buffer_from_device (env_t env_t_ptr ,
173192 buffer_t buff ,
174193 bool blocking_copy ,
@@ -180,6 +199,7 @@ int read_dp_mem_buffer_from_device (env_t env_t_ptr,
180199/*!
181200 *
182201 */
202+ DPPL_API
183203int create_dp_program_from_spirv (env_t env_t_ptr ,
184204 const void * il ,
185205 size_t length ,
@@ -189,6 +209,7 @@ int create_dp_program_from_spirv (env_t env_t_ptr,
189209/*!
190210 *
191211 */
212+ DPPL_API
192213int create_dp_program_from_source (env_t env_t_ptr ,
193214 unsigned int count ,
194215 const char * * strings ,
@@ -198,26 +219,31 @@ int create_dp_program_from_source (env_t env_t_ptr,
198219/*!
199220 *
200221 */
222+ DPPL_API
201223int destroy_dp_program (program_t * program_t_ptr );
202224
203225
226+ DPPL_API
204227int build_dp_program (env_t env_t_ptr , program_t program_t_ptr );
205228
206229/*!
207230 *
208231 */
232+ DPPL_API
209233int create_dp_kernel (env_t env_t_ptr ,
210234 program_t program_ptr ,
211235 const char * kernel_name ,
212236 kernel_t * kernel_ptr );
213237
214238
239+ DPPL_API
215240int destroy_dp_kernel (kernel_t * kernel_ptr );
216241
217242
218243/*!
219244 *
220245 */
246+ DPPL_API
221247int create_dp_kernel_arg (const void * arg_value ,
222248 size_t arg_size ,
223249 kernel_arg_t * kernel_arg_t_ptr );
@@ -226,19 +252,22 @@ int create_dp_kernel_arg (const void *arg_value,
226252/*!
227253 *
228254 */
255+ DPPL_API
229256int create_dp_kernel_arg_from_buffer (buffer_t * buffer_t_ptr ,
230257 kernel_arg_t * kernel_arg_t_ptr );
231258
232259
233260/*!
234261 *
235262 */
263+ DPPL_API
236264int destroy_dp_kernel_arg (kernel_arg_t * kernel_arg_t_ptr );
237265
238266
239267/*!
240268 *
241269 */
270+ DPPL_API
242271int set_args_and_enqueue_dp_kernel (env_t env_t_ptr ,
243272 kernel_t kernel_t_ptr ,
244273 size_t nargs ,
@@ -252,6 +281,7 @@ int set_args_and_enqueue_dp_kernel (env_t env_t_ptr,
252281/*!
253282 *
254283 */
284+ DPPL_API
255285int set_args_and_enqueue_dp_kernel_auto_blocking (env_t env_t_ptr ,
256286 kernel_t kernel_t_ptr ,
257287 size_t nargs ,
@@ -264,12 +294,14 @@ int set_args_and_enqueue_dp_kernel_auto_blocking (env_t env_t_ptr,
264294/*!
265295 *
266296 */
297+ DPPL_API
267298int retain_dp_context (env_t env_t_ptr );
268299
269300
270301/*!
271302 *
272303 */
304+ DPPL_API
273305int release_dp_context (env_t env_t_ptr );
274306
275307
0 commit comments