30 #ifndef _CCL_MEMOBJ_WRAPPER_H_
31 #define _CCL_MEMOBJ_WRAPPER_H_
73 cl_mem memobj,
void *user_data);
90 void *user_data,
CCLErr** err);
96 CCLQueue* cq, cl_mem_migration_flags flags,
110 #define ccl_memobj_get_info(mo, param_name, err) \
111 ccl_wrapper_get_info((CCLWrapper*) mo, NULL, param_name, 0, \
112 CCL_INFO_MEMOBJ, CL_FALSE, err)
130 #define ccl_memobj_get_info_scalar(mo, param_name, param_type, err) \
131 *((param_type*) ccl_wrapper_get_info_value((CCLWrapper*) mo, \
132 NULL, param_name, sizeof(param_type), CCL_INFO_MEMOBJ, CL_FALSE, err))
150 #define ccl_memobj_get_info_array(mo, param_name, param_type, err) \
151 (param_type) ccl_wrapper_get_info_value((CCLWrapper*) mo, \
152 NULL, param_name, sizeof(param_type), CCL_INFO_MEMOBJ, CL_FALSE, err)
159 #define ccl_memobj_ref(mo) \
160 ccl_wrapper_ref((CCLWrapper*) mo)
168 #define ccl_memobj_unwrap(mo) \
169 ((cl_mem) ccl_wrapper_unwrap((CCLWrapper*) mo))
void(* ccl_memobj_destructor_callback)(cl_mem memobj, void *user_data)
Prototype for memory object destructor callback functions.
GPtrArray * CCLEventWaitList
A list of event objects on which enqueued commands can wait.
Definition of a wrapper class and its methods for OpenCL event objects.
Base class for memory object wrappers, i.e., CCLBuffer and CCLImage.
Command queue wrapper class.
Definition of an abstract wrapper class and its methods for OpenCL objects.
cl_uint ccl_memobj_get_opencl_version(CCLMemObj *mo, CCLErr **err)
Get the OpenCL version of the platform associated with this memory object.
cl_bool ccl_memobj_set_destructor_callback(CCLMemObj *mo, ccl_memobj_destructor_callback pfn_notify, void *user_data, CCLErr **err)
Wrapper for OpenCL clSetMemObjectDestructorCallback() function.
Header for normalizing OpenCL versions within cf4ocl.
GError CCLErr
Error handling class.
Definition of a wrapper class and its methods for OpenCL queue objects.
CCLEvent * ccl_memobj_enqueue_migrate(CCLMemObj **mos, cl_uint num_mos, CCLQueue *cq, cl_mem_migration_flags flags, CCLEventWaitList *evt_wait_lst, CCLErr **err)
Enqueues a command to indicate which device a set of memory objects should be associated with...
CCLEvent * ccl_memobj_enqueue_unmap(CCLMemObj *mo, CCLQueue *cq, void *mapped_ptr, CCLEventWaitList *evt_wait_lst, CCLErr **err)
Enqueues a command to unmap a previously mapped region of a memory object.