예제 #1
0
 internal static extern ErrorCode clGetSupportedImageFormats(
     cl_context context,
     cl_mem_flags flags,
     cl_mem_object_type image_type,
     cl_uint num_entries,
     [Out][MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3)] ImageFormat[] image_formats,
     out cl_uint num_image_formats);
예제 #2
0
 internal static extern ErrorCode clEnqueueUnmapMemObject(
     cl_command_queue command_queue,
     cl_mem memobj,
     void *mapped_ptr,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event);
예제 #3
0
 internal static extern ErrorCode clEnqueueReleaseGLObjects(
     cl_command_queue command_queue,
     cl_uint num_objects,
     [In] cl_mem[] mem_objects,
     cl_uint num_events_in_wait_list,
     [In] cl_event[] event_wait_list,
     cl_event *_event);
예제 #4
0
 internal static extern cl_int clBuildProgram(
     cl_program program,
     cl_uint num_devices,
     [In] cl_device_id[] device_list,
     String options,
     ProgramNotify pfn_notify,
     IntPtr user_data);
예제 #5
0
 internal static extern ErrorCode clEnqueueUnmapMemObject(
     cl_command_queue command_queue,
     cl_mem memobj,
     void *mapped_ptr,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event);
예제 #6
0
 internal static extern cl_program clCreateProgramWithBinary(
     cl_context context,
     cl_uint num_devices,
     [In] cl_device_id[] device_list,
     [In] IntPtr[] lengths,
     [In] IntPtr[] pBinaries,
     [Out][MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] cl_int[] binary_status,
     [MarshalAs(UnmanagedType.I4)] out ErrorCode errcode_ret);
예제 #7
0
 internal static extern ErrorCode clEnqueueNDRangeKernel(
     cl_command_queue command_queue,
     cl_kernel kernel,
     cl_uint work_dim,
     [In][MarshalAs(UnmanagedType.LPArray)] IntPtr[] global_work_offset,
     [In][MarshalAs(UnmanagedType.LPArray)] IntPtr[] global_work_size,
     [In][MarshalAs(UnmanagedType.LPArray)] IntPtr[] local_work_size,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event);
예제 #8
0
 internal static extern ErrorCode clEnqueueCopyBufferToImage(
     cl_command_queue command_queue,
     cl_mem src_buffer,
     cl_mem dst_image,
     IntPtr src_offset,
     IntPtr *dst_origin,
     IntPtr *region,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event);
예제 #9
0
 internal static extern ErrorCode clEnqueueCopyBufferToImage(
     cl_command_queue command_queue,
     cl_mem src_buffer,
     cl_mem dst_image,
     IntPtr src_offset,
     [In][MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] IntPtr[] dst_origin,
     [In][MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] IntPtr[] region,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event);
예제 #10
0
 internal static extern ErrorCode clEnqueueNDRangeKernel(
     cl_command_queue command_queue,
     cl_kernel kernel,
     cl_uint work_dim,
     IntPtr *global_work_offset,
     IntPtr *global_work_size,
     IntPtr *local_work_size,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event);
예제 #11
0
 internal static extern ErrorCode clEnqueueCopyBuffer(
     cl_command_queue command_queue,
     cl_mem src_buffer,
     cl_mem dst_buffer,
     IntPtr src_offset,
     IntPtr dst_offset,
     IntPtr cb,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event);
예제 #12
0
 internal static extern ErrorCode clEnqueueCopyBuffer(
     cl_command_queue command_queue,
     cl_mem src_buffer,
     cl_mem dst_buffer,
     IntPtr src_offset,
     IntPtr dst_offset,
     IntPtr cb,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event);
예제 #13
0
 internal static extern ErrorCode clEnqueueWriteBuffer(
     cl_command_queue command_queue,
     cl_mem buffer,
     cl_bool blocking_write,
     IntPtr offset,
     IntPtr cb,
     void *ptr,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event);
예제 #14
0
 internal static extern ErrorCode clEnqueueWriteBuffer(
     cl_command_queue command_queue,
     cl_mem buffer,
     cl_bool blocking_write,
     IntPtr offset,
     IntPtr cb,
     void *ptr,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event);
예제 #15
0
 internal static extern void *clEnqueueMapBuffer(
     cl_command_queue command_queue,
     cl_mem buffer,
     cl_bool blocking_map,
     cl_map_flags map_flags,
     IntPtr offset,
     IntPtr cb,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event,
     out ErrorCode errcode_ret);
예제 #16
0
 internal static extern void *clEnqueueMapBuffer(
     cl_command_queue command_queue,
     cl_mem buffer,
     cl_bool blocking_map,
     cl_map_flags map_flags,
     IntPtr offset,
     IntPtr cb,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event,
     out ErrorCode errcode_ret);
예제 #17
0
 internal static extern ErrorCode clEnqueueNativeKernel(
     cl_command_queue command_queue,
     NativeKernelInternal user_func,
     void *args,
     IntPtr cb_args,
     cl_uint num_mem_objects,
     [In] cl_mem[] mem_list,
     [In][MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4)] IntPtr[] args_mem_loc,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event);
예제 #18
0
 internal static extern ErrorCode clEnqueueWriteImage(
     cl_command_queue command_queue,
     cl_mem image,
     cl_bool blocking_write,
     [In][MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] IntPtr[] origin,
     [In][MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] IntPtr[] region,
     IntPtr input_row_pitch,
     IntPtr input_slice_pitch,
     void *ptr,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event);
예제 #19
0
 internal static extern ErrorCode clEnqueueWriteImage(
     cl_command_queue command_queue,
     cl_mem image,
     cl_bool blocking_write,
     IntPtr *origin,
     IntPtr *region,
     IntPtr input_row_pitch,
     IntPtr input_slice_pitch,
     void *ptr,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event);
예제 #20
0
 internal static extern void *clEnqueueMapImage(
     cl_command_queue command_queue,
     cl_mem image,
     cl_bool blocking_map,
     cl_map_flags map_flags,
     [In][MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] IntPtr[] origin,
     [In][MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] IntPtr[] region,
     out IntPtr image_row_pitch,
     out IntPtr image_slice_pitch,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event,
     out ErrorCode errcode_ret);
예제 #21
0
 internal static extern void *clEnqueueMapImage(
     cl_command_queue command_queue,
     cl_mem image,
     cl_bool blocking_map,
     cl_map_flags map_flags,
     IntPtr *origin,
     IntPtr *region,
     out IntPtr image_row_pitch,
     out IntPtr image_slice_pitch,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event,
     out ErrorCode errcode_ret);
예제 #22
0
 internal static extern ErrorCode clEnqueueCopyBufferRect(
     cl_command_queue command_queue,
     cl_mem src_buffer,
     cl_mem dst_buffer,
     [In] IntPtr[] src_origin,
     [In] IntPtr[] dst_origin,
     [In] IntPtr[] region,
     IntPtr src_row_pitch,
     IntPtr src_slice_pitch,
     IntPtr dst_row_pitch,
     IntPtr dst_slice_pitch,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] _event_wait_list,
     cl_event *_event);
예제 #23
0
 internal static extern ErrorCode clEnqueueCopyBufferRect(
     cl_command_queue command_queue,
     cl_mem src_buffer,
     cl_mem dst_buffer,
     IntPtr *src_origin,
     IntPtr *dst_origin,
     IntPtr *region,
     IntPtr src_row_pitch,
     IntPtr src_slice_pitch,
     IntPtr dst_row_pitch,
     IntPtr dst_slice_pitch,
     cl_uint num_events_in_wait_list,
     cl_event *_event_wait_list,
     cl_event *_event);
예제 #24
0
 internal static extern ErrorCode clEnqueueWriteBufferRect(
     cl_command_queue command_queue,
     cl_mem buffer,
     cl_bool blocking_write,
     [In] IntPtr[] buffer_offset,
     [In] IntPtr[] host_offset,
     [In] IntPtr[] region,
     IntPtr buffer_row_pitch,
     IntPtr buffer_slice_pitch,
     IntPtr host_row_pitch,
     IntPtr host_slice_pitch,
     void *ptr,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] _event_wait_list,
     cl_event *_event);
예제 #25
0
 internal static extern ErrorCode clEnqueueWriteBufferRect(
     cl_command_queue command_queue,
     cl_mem buffer,
     cl_bool blocking_write,
     IntPtr *buffer_offset,
     IntPtr *host_offset,
     IntPtr *region,
     IntPtr buffer_row_pitch,
     IntPtr buffer_slice_pitch,
     IntPtr host_row_pitch,
     IntPtr host_slice_pitch,
     void *ptr,
     cl_uint num_events_in_wait_list,
     cl_event *_event_wait_list,
     cl_event *_event);
예제 #26
0
파일: OpenCL.cs 프로젝트: o70078/C-LifeGame
 public static ErrorCode EnqueueNativeKernel(cl_command_queue command_queue,
                                             NativeKernelInternal user_func,
                                             void *args,
                                             IntPtr cb_args,
                                             cl_uint num_mem_objects,
                                             cl_mem[] mem_list,
                                             IntPtr[] args_mem_loc,
                                             cl_uint num_events_in_wait_list,
                                             cl_event[] event_wait_list,
                                             cl_event *_event)
 {
     return(OpenCLAPI.clEnqueueNativeKernel(command_queue,
                                            user_func,
                                            args,
                                            cb_args,
                                            num_mem_objects,
                                            mem_list,
                                            args_mem_loc,
                                            num_events_in_wait_list,
                                            event_wait_list,
                                            _event));
 }
예제 #27
0
		private static extern ErrorCode clGetGLContextInfoKHR(
			[In] [MarshalAs(UnmanagedType.LPArray)] cl_uint[] properties,
			cl_gl_ContextInfo info,
			cl_uint size,
			[Out] [MarshalAs(UnmanagedType.LPArray)] Device[] devices,
			[Out] out cl_uint retSize);
예제 #28
0
		private static extern IntPtr clCreateContext([In] [MarshalAs(UnmanagedType.LPArray)] cl_uint[] properties,
		                                             cl_uint numDevices,
		                                             [In] [MarshalAs(UnmanagedType.LPArray)] Device[] devices,
		                                             ContextNotify pfnNotify,
		                                             IntPtr userData,
		                                             out ErrorCode errcodeRet);
예제 #29
0
 internal static extern ErrorCode clEnqueueTask(
     cl_command_queue command_queue,
     cl_kernel kernel,
     cl_uint num_events_in_wait_list,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] event_wait_list,
     cl_event *_event);
예제 #30
0
 internal static extern ErrorCode clWaitForEvents(
     cl_uint num_events,
     [In][MarshalAs(UnmanagedType.LPArray)] cl_event[] _event_list);
예제 #31
0
 internal static extern ErrorCode clEnqueueTask(
     cl_command_queue command_queue,
     cl_kernel kernel,
     cl_uint num_events_in_wait_list,
     IntPtr *event_wait_list,
     cl_event *_event);
예제 #32
0
 internal static extern ErrorCode clEnqueueWaitForEvents(
     cl_command_queue command_queue,
     cl_uint num_events,
     IntPtr *_event_list);