| #include <CL/cl.h> |
| #include "param_struct.h" |
| #include <platform/icd_test_log.h> |
| |
| extern cl_mem image; |
| extern cl_context context; |
| extern cl_command_queue command_queue; |
| extern cl_event event; |
| extern cl_mem buffer; |
| |
| int ret_val; |
| |
| const struct clGetSupportedImageFormats_st clGetSupportedImageFormatsData[NUM_ITEMS_clGetSupportedImageFormats] = |
| { |
| { NULL, 0x0, 0, 0, NULL, NULL } |
| }; |
| |
| const struct clEnqueueCopyImageToBuffer_st clEnqueueCopyImageToBufferData[NUM_ITEMS_clEnqueueCopyImageToBuffer] = |
| { |
| { NULL, NULL, NULL, NULL, NULL, 0, 0, NULL, NULL } |
| }; |
| |
| const struct clEnqueueCopyBufferToImage_st clEnqueueCopyBufferToImageData[NUM_ITEMS_clEnqueueCopyBufferToImage] = |
| { |
| { NULL, NULL, NULL, 0, NULL, NULL, 0, NULL, NULL } |
| }; |
| |
| const struct clEnqueueMapImage_st clEnqueueMapImageData[NUM_ITEMS_clEnqueueMapImage] = |
| { |
| { NULL, NULL, 0, 0x0, NULL, NULL, NULL, NULL,0, NULL, NULL} |
| }; |
| |
| const struct clEnqueueReadImage_st clEnqueueReadImageData[NUM_ITEMS_clEnqueueReadImage] = |
| { |
| { NULL, NULL, 0, NULL, NULL, 0, 0, NULL, 0, NULL, NULL } |
| }; |
| |
| const struct clEnqueueWriteImage_st clEnqueueWriteImageData[NUM_ITEMS_clEnqueueWriteImage] = |
| { |
| { NULL, NULL, 0, NULL, NULL, 0, 0, NULL, 0, NULL, NULL } |
| }; |
| |
| const struct clEnqueueFillImage_st clEnqueueFillImageData[NUM_ITEMS_clEnqueueFillImage] = |
| { |
| { NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL } |
| }; |
| |
| const struct clEnqueueCopyImage_st clEnqueueCopyImageData[NUM_ITEMS_clEnqueueCopyImage] = |
| { |
| { NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL } |
| }; |
| |
| const struct clGetImageInfo_st clGetImageInfoData[NUM_ITEMS_clGetImageInfo] = |
| { |
| { NULL, 0, 0, NULL, NULL} |
| }; |
| |
| int test_clGetSupportedImageFormats(const struct clGetSupportedImageFormats_st *data) |
| { |
| test_icd_app_log("clGetSupportedImageFormats(%p, %x, %u, %u, %p, %p)\n", |
| context, |
| data->flags, |
| data->image_type, |
| data->num_entries, |
| data->image_formats, |
| data->num_image_formats); |
| |
| ret_val = clGetSupportedImageFormats(context, |
| data->flags, |
| data->image_type, |
| data->num_entries, |
| data->image_formats, |
| data->num_image_formats); |
| |
| test_icd_app_log("Value returned: %d\n", ret_val); |
| |
| return 0; |
| |
| } |
| |
| int test_clEnqueueCopyImageToBuffer(const struct clEnqueueCopyImageToBuffer_st *data) |
| { |
| test_icd_app_log("clEnqueueCopyImageToBuffer(%p, %p, %p, %p, %p, %u, %u, %p, %p)\n", |
| command_queue, |
| image, |
| buffer, |
| data->src_origin, |
| data->region, |
| data->dst_offset, |
| data->num_events_in_wait_list, |
| data->event_wait_list, |
| &event); |
| |
| ret_val = clEnqueueCopyImageToBuffer(command_queue, |
| image, |
| buffer, |
| data->src_origin, |
| data->region, |
| data->dst_offset, |
| 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_clEnqueueCopyBufferToImage(const struct clEnqueueCopyBufferToImage_st *data) |
| { |
| test_icd_app_log("clEnqueueCopyBufferToImage(%p, %p, %p, %u, %p, %p, %u, %p, %p)\n", |
| command_queue, |
| buffer, |
| image, |
| data->src_offset, |
| data->dst_origin, |
| data->region, |
| data->num_events_in_wait_list, |
| data->event_wait_list, |
| &event); |
| |
| ret_val = clEnqueueCopyBufferToImage(command_queue, |
| buffer, |
| image, |
| data->src_offset, |
| data->dst_origin, |
| data->region, |
| 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_clEnqueueMapImage(const struct clEnqueueMapImage_st *data) |
| { |
| void *return_value; |
| test_icd_app_log("clEnqueueMapImage(%p, %p, %u, %x, %p, %p, %p, %p, %u, %p, %p, %p)\n", |
| command_queue, |
| image, |
| data->blocking_map, |
| data->map_flags, |
| data->origin, |
| data->region, |
| data->image_row_pitch, |
| data->image_slice_pitch, |
| data->num_events_in_wait_list, |
| data->event_wait_list, |
| &event, |
| data->errcode_ret); |
| |
| return_value = clEnqueueMapImage(command_queue, |
| image, |
| data->blocking_map, |
| data->map_flags, |
| data->origin, |
| data->region, |
| data->image_row_pitch, |
| data->image_slice_pitch, |
| 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_clEnqueueReadImage(const struct clEnqueueReadImage_st *data) |
| { |
| test_icd_app_log("clEnqueueReadImage(%p, %p, %u, %p, %p, %u, %u, %p, %u, %p, %p)\n", |
| command_queue, |
| image, |
| data->blocking_read, |
| data->origin, |
| data->region, |
| data->row_pitch, |
| data->slice_pitch, |
| data->ptr, |
| data->num_events_in_wait_list, |
| data->event_wait_list, |
| &event); |
| |
| ret_val = clEnqueueReadImage(command_queue, |
| image, |
| data->blocking_read, |
| data->origin, |
| data->region, |
| data->row_pitch, |
| data->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_clEnqueueWriteImage(const struct clEnqueueWriteImage_st *data) |
| { |
| test_icd_app_log("clEnqueueWriteImage(%p, %p, %u, %p, %p, %u, %u, %p, %u, %p, %p)\n", |
| command_queue, |
| image, |
| data->blocking_write, |
| data->origin, |
| data->region, |
| data->input_row_pitch, |
| data->input_slice_pitch, |
| data->ptr, |
| data->num_events_in_wait_list, |
| data->event_wait_list, |
| &event); |
| |
| ret_val = clEnqueueWriteImage(command_queue, |
| image, |
| data->blocking_write, |
| data->origin, |
| data->region, |
| data->input_row_pitch, |
| data->input_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_clEnqueueFillImage(const struct clEnqueueFillImage_st *data) |
| { |
| test_icd_app_log("clEnqueueFillImage(%p, %p, %p, %p, %p, %u, %p, %p)\n", |
| command_queue, |
| image, |
| data->fill_color, |
| data->origin, |
| data->region, |
| data->num_events_in_wait_list, |
| data->event_wait_list, |
| &event); |
| |
| ret_val = clEnqueueFillImage(command_queue, |
| image, |
| data->fill_color, |
| data->origin, |
| data->region, |
| 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_clEnqueueCopyImage(const struct clEnqueueCopyImage_st *data) |
| { |
| test_icd_app_log("clEnqueueCopyImage(%p, %p, %p, %p, %p, %p, %u, %p, %p)\n", |
| command_queue, |
| image, |
| image, |
| data->src_origin, |
| data->dst_origin, |
| data->region, |
| data->num_events_in_wait_list, |
| data->event_wait_list, |
| &event); |
| |
| ret_val = clEnqueueCopyImage(command_queue, |
| image, |
| image, |
| data->src_origin, |
| data->dst_origin, |
| data->region, |
| 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_clGetImageInfo(const struct clGetImageInfo_st *data) |
| { |
| test_icd_app_log("clGetImageInfo(%p, %u, %u, %p, %p)\n", |
| image, |
| data->param_name, |
| data->param_value_size, |
| data->param_value, |
| data->param_value_size_ret); |
| |
| ret_val = clGetImageInfo(image, |
| 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_image_objects() |
| { |
| int i; |
| |
| for (i = 0; i<NUM_ITEMS_clGetSupportedImageFormats; i++) { |
| test_clGetSupportedImageFormats(&clGetSupportedImageFormatsData[i]); |
| } |
| |
| for (i = 0; i<NUM_ITEMS_clEnqueueCopyImageToBuffer; i++) { |
| test_clEnqueueCopyImageToBuffer(&clEnqueueCopyImageToBufferData[i]); |
| } |
| |
| for (i = 0; i<NUM_ITEMS_clEnqueueCopyBufferToImage; i++) { |
| test_clEnqueueCopyBufferToImage(&clEnqueueCopyBufferToImageData[i]); |
| } |
| |
| for (i = 0; i<NUM_ITEMS_clEnqueueMapImage; i++) { |
| test_clEnqueueMapImage(&clEnqueueMapImageData[i]); |
| } |
| |
| for (i = 0; i<NUM_ITEMS_clEnqueueReadImage; i++) { |
| test_clEnqueueReadImage(&clEnqueueReadImageData[i]); |
| } |
| |
| for (i = 0; i<NUM_ITEMS_clEnqueueWriteImage; i++) { |
| test_clEnqueueWriteImage(&clEnqueueWriteImageData[i]); |
| } |
| |
| for (i = 0; i<NUM_ITEMS_clEnqueueFillImage; i++) { |
| test_clEnqueueFillImage(&clEnqueueFillImageData[i]); |
| } |
| |
| for (i = 0; i<NUM_ITEMS_clEnqueueCopyImage; i++) { |
| test_clEnqueueCopyImage(&clEnqueueCopyImageData[i]); |
| } |
| |
| for (i = 0; i<NUM_ITEMS_clGetImageInfo; i++) { |
| test_clGetImageInfo(&clGetImageInfoData[i]); |
| } |
| |
| return 0; |
| |
| } |