1 /* See LICENSE file in the root OpenCV directory */ 2 3 #ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP 4 #define OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP 5 6 #if defined(HAVE_OPENCL_SVM) 7 #include "opencl_core.hpp" 8 9 #include "opencl_svm_definitions.hpp" 10 11 #undef clSVMAlloc 12 #define clSVMAlloc clSVMAlloc_pfn 13 #undef clSVMFree 14 #define clSVMFree clSVMFree_pfn 15 #undef clSetKernelArgSVMPointer 16 #define clSetKernelArgSVMPointer clSetKernelArgSVMPointer_pfn 17 #undef clSetKernelExecInfo 18 //#define clSetKernelExecInfo clSetKernelExecInfo_pfn 19 #undef clEnqueueSVMFree 20 //#define clEnqueueSVMFree clEnqueueSVMFree_pfn 21 #undef clEnqueueSVMMemcpy 22 #define clEnqueueSVMMemcpy clEnqueueSVMMemcpy_pfn 23 #undef clEnqueueSVMMemFill 24 #define clEnqueueSVMMemFill clEnqueueSVMMemFill_pfn 25 #undef clEnqueueSVMMap 26 #define clEnqueueSVMMap clEnqueueSVMMap_pfn 27 #undef clEnqueueSVMUnmap 28 #define clEnqueueSVMUnmap clEnqueueSVMUnmap_pfn 29 30 extern CL_RUNTIME_EXPORT void* (CL_API_CALL *clSVMAlloc)(cl_context context, cl_svm_mem_flags flags, size_t size, unsigned int alignment); 31 extern CL_RUNTIME_EXPORT void (CL_API_CALL *clSVMFree)(cl_context context, void* svm_pointer); 32 extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clSetKernelArgSVMPointer)(cl_kernel kernel, cl_uint arg_index, const void* arg_value); 33 //extern CL_RUNTIME_EXPORT void* (CL_API_CALL *clSetKernelExecInfo)(cl_kernel kernel, cl_kernel_exec_info param_name, size_t param_value_size, const void* param_value); 34 //extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMFree)(cl_command_queue command_queue, cl_uint num_svm_pointers, void* svm_pointers[], 35 // void (CL_CALLBACK *pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data), void* user_data, 36 // cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); 37 extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMemcpy)(cl_command_queue command_queue, cl_bool blocking_copy, void* dst_ptr, const void* src_ptr, size_t size, 38 cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); 39 extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMemFill)(cl_command_queue command_queue, void* svm_ptr, const void* pattern, size_t pattern_size, size_t size, 40 cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); 41 extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMap)(cl_command_queue command_queue, cl_bool blocking_map, cl_map_flags map_flags, void* svm_ptr, size_t size, 42 cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); 43 extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMUnmap)(cl_command_queue command_queue, void* svm_ptr, 44 cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); 45 46 #endif // HAVE_OPENCL_SVM 47 48 #endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP 49