#include #include "param_struct.h" #include extern cl_mem buffer; extern cl_command_queue command_queue; extern cl_event event; static int ret_val; extern void CL_CALLBACK setmemobjectdestructor_callback(cl_mem _a, void* _b); const struct clEnqueueReadBuffer_st clEnqueueReadBufferData[NUM_ITEMS_clEnqueueReadBuffer] = { {NULL, NULL, 0, 0, 0, NULL, 0, NULL, NULL} }; const struct clEnqueueWriteBuffer_st clEnqueueWriteBufferData[NUM_ITEMS_clEnqueueWriteBuffer] = { {NULL, NULL, 0, 0, 0, NULL, 0, NULL, NULL} }; const struct clEnqueueReadBufferRect_st clEnqueueReadBufferRectData[NUM_ITEMS_clEnqueueReadBufferRect] = { {NULL, NULL, 0, NULL, NULL, NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL} }; const struct clEnqueueWriteBufferRect_st clEnqueueWriteBufferRectData[NUM_ITEMS_clEnqueueWriteBufferRect] = { {NULL, NULL, 0, NULL, NULL, NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL} }; const struct clEnqueueFillBuffer_st clEnqueueFillBufferData[NUM_ITEMS_clEnqueueFillBuffer] = { {NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL} }; const struct clEnqueueCopyBuffer_st clEnqueueCopyBufferData[NUM_ITEMS_clEnqueueCopyBuffer] = { {NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL} }; const struct clEnqueueCopyBufferRect_st clEnqueueCopyBufferRectData[NUM_ITEMS_clEnqueueCopyBufferRect] = { {NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, NULL, NULL} }; const struct clEnqueueMapBuffer_st clEnqueueMapBufferData[NUM_ITEMS_clEnqueueMapBuffer] = { {NULL, NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL} }; const struct clRetainMemObject_st clRetainMemObjectData[NUM_ITEMS_clRetainMemObject] = { {NULL} }; const struct clSetMemObjectDestructorCallback_st clSetMemObjectDestructorCallbackData[NUM_ITEMS_clSetMemObjectDestructorCallback] = { {NULL, setmemobjectdestructor_callback, NULL} }; const struct clEnqueueUnmapMemObject_st clEnqueueUnmapMemObjectData[NUM_ITEMS_clEnqueueUnmapMemObject] = { {NULL, NULL, NULL, 0, NULL, NULL} }; const struct clGetMemObjectInfo_st clGetMemObjectInfoData[NUM_ITEMS_clGetMemObjectInfo] = { {NULL, 0, 0, NULL, NULL} }; int test_clEnqueueReadBuffer(const struct clEnqueueReadBuffer_st *data) { test_icd_app_log("clEnqueueReadBuffer(%p, %p, %u, %u, %u, %p, %u, %p, %p)\n", command_queue, buffer, data->blocking_read, data->offset, data->cb, data->ptr, data->num_events_in_wait_list, data->event_wait_list, &event); ret_val=clEnqueueReadBuffer(command_queue, buffer, data->blocking_read, data->offset, data->cb, data->ptr, data->num_events_in_wait_list, data->event_wait_list, &event); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clEnqueueWriteBuffer(const struct clEnqueueWriteBuffer_st *data) { test_icd_app_log("clEnqueueWriteBuffer(%p, %p, %u, %u, %u, %p, %u, %p, %p)\n", command_queue, buffer, data->blocking_write, data->offset, data->cb, data->ptr, data->num_events_in_wait_list, data->event_wait_list, &event); ret_val=clEnqueueWriteBuffer(command_queue, buffer, data->blocking_write, data->offset, data->cb, data->ptr, data->num_events_in_wait_list, data->event_wait_list, &event); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clEnqueueReadBufferRect(const struct clEnqueueReadBufferRect_st *data) { test_icd_app_log("clEnqueueReadBufferRect(%p, %p, %u, %p, %p, %p, %u, %u, %u, %u, %p, %u, %p, %p)\n", command_queue, buffer, data->blocking_read, data->buffer_offset, data->host_offset, data->region, data->buffer_row_pitch, data->buffer_slice_pitch, data->host_row_pitch, data->host_slice_pitch, data->ptr, data->num_events_in_wait_list, data->event_wait_list, &event); ret_val=clEnqueueReadBufferRect(command_queue, buffer, data->blocking_read, data->buffer_offset, data->host_offset, data->region, data->buffer_row_pitch, data->buffer_slice_pitch, data->host_row_pitch, data->host_slice_pitch, data->ptr, data->num_events_in_wait_list, data->event_wait_list, &event); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clEnqueueWriteBufferRect(const struct clEnqueueWriteBufferRect_st *data) { test_icd_app_log("clEnqueueWriteBufferRect(%p, %p, %u, %p, %p, %p, %u, %u, %u, %u, %p, %u, %p, %p)\n", command_queue, buffer, data->blocking_write, data->buffer_offset, data->host_offset, data->region, data->buffer_row_pitch, data->buffer_slice_pitch, data->host_row_pitch, data->host_slice_pitch, data->ptr, data->num_events_in_wait_list, data->event_wait_list, &event); ret_val=clEnqueueWriteBufferRect(command_queue, buffer, data->blocking_write, data->buffer_offset, data->host_offset, data->region, data->buffer_row_pitch, data->buffer_slice_pitch, data->host_row_pitch, data->host_slice_pitch, data->ptr, data->num_events_in_wait_list, data->event_wait_list, &event); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clEnqueueFillBuffer(const struct clEnqueueFillBuffer_st *data) { test_icd_app_log("clEnqueueFillBuffer(%p, %p, %p, %u, %u, %u, %u, %p, %p)\n", command_queue, buffer, data->pattern, data->pattern_size, data->offset, data->cb, data->num_events_in_wait_list, data->event_wait_list, &event); ret_val=clEnqueueFillBuffer(command_queue, buffer, data->pattern, data->pattern_size, data->offset, data->cb, data->num_events_in_wait_list, data->event_wait_list, &event); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clEnqueueCopyBuffer(const struct clEnqueueCopyBuffer_st *data) { test_icd_app_log("clEnqueueCopyBuffer(%p, %p, %p, %u, %u, %u, %u, %p, %p)\n", command_queue, data->src_buffer, buffer, data->src_offset, data->dst_offset, data->cb, data->num_events_in_wait_list, data->event_wait_list, &event); ret_val=clEnqueueCopyBuffer(command_queue, data->src_buffer, buffer, data->src_offset, data->dst_offset, data->cb, data->num_events_in_wait_list, data->event_wait_list, &event); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clEnqueueCopyBufferRect(const struct clEnqueueCopyBufferRect_st *data) { test_icd_app_log("clEnqueueCopyBufferRect(%p, %p, %p, %p, %p, %p, %u, %u, %u, %u, %u, %p, %p)\n", command_queue, buffer, buffer, data->src_origin, data->dst_origin, data->region, data->src_row_pitch, data->src_slice_pitch, data->dst_row_pitch, data->dst_slice_pitch, data->num_events_in_wait_list, data->event_wait_list, &event); ret_val=clEnqueueCopyBufferRect(command_queue, buffer, buffer, data->src_origin, data->dst_origin, data->region, data->src_row_pitch, data->src_slice_pitch, data->dst_row_pitch, data->dst_slice_pitch, data->num_events_in_wait_list, data->event_wait_list, &event); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clEnqueueMapBuffer(const struct clEnqueueMapBuffer_st *data) { void * return_value; test_icd_app_log("clEnqueueMapBuffer(%p, %p, %u, %x, %u, %u, %u, %p, %p, %p)\n", command_queue, buffer, data->blocking_map, data->map_flags, data->offset, data->cb, data->num_events_in_wait_list, data->event_wait_list, &event, data->errcode_ret); return_value=clEnqueueMapBuffer(command_queue, buffer, data->blocking_map, data->map_flags, data->offset, data->cb, data->num_events_in_wait_list, data->event_wait_list, &event, data->errcode_ret); test_icd_app_log("Value returned: %p\n", return_value); free(return_value); return 0; } int test_clRetainMemObject(const struct clRetainMemObject_st *data) { test_icd_app_log("clRetainMemObject(%p)\n", buffer); ret_val=clRetainMemObject(buffer); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clSetMemObjectDestructorCallback(const struct clSetMemObjectDestructorCallback_st *data) { test_icd_app_log("clSetMemObjectDestructorCallback(%p, %p, %p)\n", buffer, data->pfn_notify, data->user_data); ret_val=clSetMemObjectDestructorCallback(buffer, data->pfn_notify, data->user_data); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clEnqueueUnmapMemObject(const struct clEnqueueUnmapMemObject_st *data) { test_icd_app_log("clEnqueueUnmapMemObject(%p, %p, %p, %u, %p, %p)\n", command_queue, buffer, data->mapped_ptr, data->num_events_in_wait_list, data->event_wait_list, &event); ret_val=clEnqueueUnmapMemObject(command_queue, buffer, data->mapped_ptr, data->num_events_in_wait_list, data->event_wait_list, &event); test_icd_app_log("Value returned: %d\n", ret_val); return 0; } int test_clGetMemObjectInfo (const struct clGetMemObjectInfo_st *data) { test_icd_app_log("clGetMemObjectInfo(%p, %u, %u, %p, %p)\n", buffer, data->param_name, data->param_value_size, data->param_value, data->param_value_size_ret); ret_val=clGetMemObjectInfo(buffer, data->param_name, data->param_value_size, data->param_value, data->param_value_size_ret); test_icd_app_log("Value returned: %d\n",ret_val); return 0; } int test_buffer_object() { int i; for (i=0; i