29 #ifndef _CCL_QUEUE_WRAPPER_H_
30 #define _CCL_QUEUE_WRAPPER_H_
91 const cl_queue_properties* prop_full,
CCLErr** err);
96 cl_command_queue_properties properties,
CCLErr** err);
122 void ccl_queue_iter_event_init(
CCLQueue* cq);
163 #define ccl_queue_get_info(cq, param_name, err) \
164 ccl_wrapper_get_info((CCLWrapper*) cq, NULL, param_name, 0, \
165 CCL_INFO_QUEUE, CL_FALSE, err)
183 #define ccl_queue_get_info_scalar(cq, param_name, param_type, err) \
184 *((param_type*) ccl_wrapper_get_info_value((CCLWrapper*) cq, \
185 NULL, param_name, sizeof(param_type), CCL_INFO_QUEUE, CL_FALSE, err))
203 #define ccl_queue_get_info_array(cq, param_name, param_type, err) \
204 (param_type) ccl_wrapper_get_info_value((CCLWrapper*) cq, \
205 NULL, param_name, sizeof(param_type), CCL_INFO_QUEUE, CL_FALSE, err)
212 #define ccl_queue_ref(cq) \
213 ccl_wrapper_ref((CCLWrapper*) cq)
221 #define ccl_queue_unref(cq) ccl_queue_destroy(cq)
229 #define ccl_queue_unwrap(cq) \
230 ((cl_command_queue) ccl_wrapper_unwrap((CCLWrapper*) cq))
CCLEvent * ccl_enqueue_barrier(CCLQueue *cq, CCLEventWaitList *evt_wait_lst, CCLErr **err)
Enqueues a barrier command on the given command queue.
Definition of a wrapper class and its methods for OpenCL device objects.
CCLQueue * ccl_queue_new(CCLContext *ctx, CCLDevice *dev, cl_command_queue_properties properties, CCLErr **err)
Create a new command queue wrapper object.
GPtrArray * CCLEventWaitList
A list of event objects on which enqueued commands can wait.
Definition of a wrapper class and its methods for OpenCL context objects.
Definition of a wrapper class and its methods for OpenCL event objects.
The context wrapper class.
CCLEvent * ccl_enqueue_marker(CCLQueue *cq, CCLEventWaitList *evt_wait_lst, CCLErr **err)
Enqueues a marker command on the given command queue.
Command queue wrapper class.
cl_bool ccl_queue_flush(CCLQueue *cq, CCLErr **err)
Issues all previously queued commands in a command queue to the associated device.
CCLQueue * ccl_queue_new_wrap(cl_command_queue command_queue)
Get the command queue wrapper for the given OpenCL command queue.
void ccl_queue_gc(CCLQueue *cq)
Release all events associated with the command queue.
cl_bool ccl_queue_finish(CCLQueue *cq, CCLErr **err)
Blocks until all previously queued OpenCL commands in a command-queue are issued to the associated de...
CCLDevice * ccl_queue_get_device(CCLQueue *cq, CCLErr **err)
Get the device associated with the given command queue wrapper object.
CCLQueue * ccl_queue_new_full(CCLContext *ctx, CCLDevice *dev, const cl_queue_properties *prop_full, CCLErr **err)
Create a new command queue wrapper object.
Definition of an abstract wrapper class and its methods for OpenCL objects.
Header for normalizing OpenCL versions within cf4ocl.
GError CCLErr
Error handling class.
CCLContext * ccl_queue_get_context(CCLQueue *cq, CCLErr **err)
Get the context associated with the given command queue wrapper object.
void ccl_queue_destroy(CCLQueue *cq)
Decrements the reference count of the command queue wrapper object.