4 #include "param_struct.h"
5 #include <platform/icd_test_log.h>
8 extern cl_command_queue command_queue;
13 extern void CL_CALLBACK setmemobjectdestructor_callback(cl_mem _a, void* _b);
15 const struct clEnqueueReadBuffer_st clEnqueueReadBufferData[NUM_ITEMS_clEnqueueReadBuffer] =
17 {NULL, NULL, 0, 0, 0, NULL, 0, NULL, NULL}
20 const struct clEnqueueWriteBuffer_st clEnqueueWriteBufferData[NUM_ITEMS_clEnqueueWriteBuffer] =
22 {NULL, NULL, 0, 0, 0, NULL, 0, NULL, NULL}
25 const struct clEnqueueReadBufferRect_st clEnqueueReadBufferRectData[NUM_ITEMS_clEnqueueReadBufferRect] =
27 {NULL, NULL, 0, NULL, NULL, NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL}
30 const struct clEnqueueWriteBufferRect_st clEnqueueWriteBufferRectData[NUM_ITEMS_clEnqueueWriteBufferRect] =
32 {NULL, NULL, 0, NULL, NULL, NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL}
35 const struct clEnqueueFillBuffer_st clEnqueueFillBufferData[NUM_ITEMS_clEnqueueFillBuffer] =
37 {NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL}
40 const struct clEnqueueCopyBuffer_st clEnqueueCopyBufferData[NUM_ITEMS_clEnqueueCopyBuffer] =
42 {NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL}
45 const struct clEnqueueCopyBufferRect_st clEnqueueCopyBufferRectData[NUM_ITEMS_clEnqueueCopyBufferRect] =
47 {NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, NULL, NULL}
50 const struct clEnqueueMapBuffer_st clEnqueueMapBufferData[NUM_ITEMS_clEnqueueMapBuffer] =
52 {NULL, NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL}
55 const struct clRetainMemObject_st clRetainMemObjectData[NUM_ITEMS_clRetainMemObject] =
60 const struct clSetMemObjectDestructorCallback_st clSetMemObjectDestructorCallbackData[NUM_ITEMS_clSetMemObjectDestructorCallback] =
62 {NULL, setmemobjectdestructor_callback, NULL}
65 const struct clEnqueueUnmapMemObject_st clEnqueueUnmapMemObjectData[NUM_ITEMS_clEnqueueUnmapMemObject] =
67 {NULL, NULL, NULL, 0, NULL, NULL}
70 const struct clGetMemObjectInfo_st clGetMemObjectInfoData[NUM_ITEMS_clGetMemObjectInfo] =
72 {NULL, 0, 0, NULL, NULL}
75 int test_clEnqueueReadBuffer(const struct clEnqueueReadBuffer_st *data)
77 test_icd_app_log("clEnqueueReadBuffer(%p, %p, %u, %u, %u, %p, %u, %p, %p)\n",
84 data->num_events_in_wait_list,
85 data->event_wait_list,
88 ret_val=clEnqueueReadBuffer(command_queue,
94 data->num_events_in_wait_list,
95 data->event_wait_list,
98 test_icd_app_log("Value returned: %d\n", ret_val);
103 int test_clEnqueueWriteBuffer(const struct clEnqueueWriteBuffer_st *data)
105 test_icd_app_log("clEnqueueWriteBuffer(%p, %p, %u, %u, %u, %p, %u, %p, %p)\n",
108 data->blocking_write,
112 data->num_events_in_wait_list,
113 data->event_wait_list,
116 ret_val=clEnqueueWriteBuffer(command_queue,
118 data->blocking_write,
122 data->num_events_in_wait_list,
123 data->event_wait_list,
126 test_icd_app_log("Value returned: %d\n", ret_val);
131 int test_clEnqueueReadBufferRect(const struct clEnqueueReadBufferRect_st *data)
133 test_icd_app_log("clEnqueueReadBufferRect(%p, %p, %u, %p, %p, %p, %u, %u, %u, %u, %p, %u, %p, %p)\n",
140 data->buffer_row_pitch,
141 data->buffer_slice_pitch,
142 data->host_row_pitch,
143 data->host_slice_pitch,
145 data->num_events_in_wait_list,
146 data->event_wait_list,
149 ret_val=clEnqueueReadBufferRect(command_queue,
155 data->buffer_row_pitch,
156 data->buffer_slice_pitch,
157 data->host_row_pitch,
158 data->host_slice_pitch,
160 data->num_events_in_wait_list,
161 data->event_wait_list,
164 test_icd_app_log("Value returned: %d\n", ret_val);
170 int test_clEnqueueWriteBufferRect(const struct clEnqueueWriteBufferRect_st *data)
172 test_icd_app_log("clEnqueueWriteBufferRect(%p, %p, %u, %p, %p, %p, %u, %u, %u, %u, %p, %u, %p, %p)\n",
175 data->blocking_write,
179 data->buffer_row_pitch,
180 data->buffer_slice_pitch,
181 data->host_row_pitch,
182 data->host_slice_pitch,
184 data->num_events_in_wait_list,
185 data->event_wait_list,
188 ret_val=clEnqueueWriteBufferRect(command_queue,
190 data->blocking_write,
194 data->buffer_row_pitch,
195 data->buffer_slice_pitch,
196 data->host_row_pitch,
197 data->host_slice_pitch,
199 data->num_events_in_wait_list,
200 data->event_wait_list,
203 test_icd_app_log("Value returned: %d\n", ret_val);
208 int test_clEnqueueFillBuffer(const struct clEnqueueFillBuffer_st *data)
210 test_icd_app_log("clEnqueueFillBuffer(%p, %p, %p, %u, %u, %u, %u, %p, %p)\n",
217 data->num_events_in_wait_list,
218 data->event_wait_list,
221 ret_val=clEnqueueFillBuffer(command_queue,
227 data->num_events_in_wait_list,
228 data->event_wait_list,
231 test_icd_app_log("Value returned: %d\n", ret_val);
237 int test_clEnqueueCopyBuffer(const struct clEnqueueCopyBuffer_st *data)
239 test_icd_app_log("clEnqueueCopyBuffer(%p, %p, %p, %u, %u, %u, %u, %p, %p)\n",
246 data->num_events_in_wait_list,
247 data->event_wait_list,
250 ret_val=clEnqueueCopyBuffer(command_queue,
256 data->num_events_in_wait_list,
257 data->event_wait_list,
260 test_icd_app_log("Value returned: %d\n", ret_val);
266 int test_clEnqueueCopyBufferRect(const struct clEnqueueCopyBufferRect_st *data)
268 test_icd_app_log("clEnqueueCopyBufferRect(%p, %p, %p, %p, %p, %p, %u, %u, %u, %u, %u, %p, %p)\n",
276 data->src_slice_pitch,
278 data->dst_slice_pitch,
279 data->num_events_in_wait_list,
280 data->event_wait_list,
283 ret_val=clEnqueueCopyBufferRect(command_queue,
290 data->src_slice_pitch,
292 data->dst_slice_pitch,
293 data->num_events_in_wait_list,
294 data->event_wait_list,
297 test_icd_app_log("Value returned: %d\n", ret_val);
303 int test_clEnqueueMapBuffer(const struct clEnqueueMapBuffer_st *data)
306 test_icd_app_log("clEnqueueMapBuffer(%p, %p, %u, %x, %u, %u, %u, %p, %p, %p)\n",
313 data->num_events_in_wait_list,
314 data->event_wait_list,
318 return_value=clEnqueueMapBuffer(command_queue,
324 data->num_events_in_wait_list,
325 data->event_wait_list,
329 test_icd_app_log("Value returned: %p\n", return_value);
337 int test_clRetainMemObject(const struct clRetainMemObject_st *data)
339 test_icd_app_log("clRetainMemObject(%p)\n", buffer);
341 ret_val=clRetainMemObject(buffer);
343 test_icd_app_log("Value returned: %d\n", ret_val);
349 int test_clSetMemObjectDestructorCallback(const struct clSetMemObjectDestructorCallback_st *data)
351 test_icd_app_log("clSetMemObjectDestructorCallback(%p, %p, %p)\n",
356 ret_val=clSetMemObjectDestructorCallback(buffer,
360 test_icd_app_log("Value returned: %d\n", ret_val);
366 int test_clEnqueueUnmapMemObject(const struct clEnqueueUnmapMemObject_st *data)
368 test_icd_app_log("clEnqueueUnmapMemObject(%p, %p, %p, %u, %p, %p)\n",
372 data->num_events_in_wait_list,
373 data->event_wait_list,
376 ret_val=clEnqueueUnmapMemObject(command_queue,
379 data->num_events_in_wait_list,
380 data->event_wait_list,
383 test_icd_app_log("Value returned: %d\n", ret_val);
390 int test_clGetMemObjectInfo (const struct clGetMemObjectInfo_st *data)
392 test_icd_app_log("clGetMemObjectInfo(%p, %u, %u, %p, %p)\n",
395 data->param_value_size,
397 data->param_value_size_ret);
399 ret_val=clGetMemObjectInfo(buffer,
401 data->param_value_size,
403 data->param_value_size_ret);
405 test_icd_app_log("Value returned: %d\n",ret_val);
410 int test_buffer_object()
413 for (i=0; i<NUM_ITEMS_clEnqueueReadBuffer; i++) {
414 test_clEnqueueReadBuffer(&clEnqueueReadBufferData[i]);
417 for (i=0; i<NUM_ITEMS_clEnqueueWriteBuffer; i++) {
418 test_clEnqueueWriteBuffer(&clEnqueueWriteBufferData[i]);
421 for (i=0; i<NUM_ITEMS_clEnqueueReadBufferRect; i++) {
422 test_clEnqueueReadBufferRect(&clEnqueueReadBufferRectData[i]);
425 for (i=0; i<NUM_ITEMS_clEnqueueWriteBufferRect; i++) {
426 test_clEnqueueWriteBufferRect(&clEnqueueWriteBufferRectData[i]);
429 for (i=0; i<NUM_ITEMS_clEnqueueFillBuffer; i++) {
430 test_clEnqueueFillBuffer(&clEnqueueFillBufferData[i]);
433 for (i=0; i<NUM_ITEMS_clEnqueueCopyBuffer; i++) {
434 test_clEnqueueCopyBuffer(&clEnqueueCopyBufferData[i]);
437 for (i=0; i<NUM_ITEMS_clEnqueueCopyBufferRect; i++) {
438 test_clEnqueueCopyBufferRect(&clEnqueueCopyBufferRectData[i]);
441 for (i=0; i<NUM_ITEMS_clEnqueueMapBuffer; i++) {
442 test_clEnqueueMapBuffer(&clEnqueueMapBufferData[i]);
445 for (i=0; i<NUM_ITEMS_clRetainMemObject; i++) {
446 test_clRetainMemObject(&clRetainMemObjectData[i]);
449 for (i=0; i<NUM_ITEMS_clSetMemObjectDestructorCallback; i++) {
450 test_clSetMemObjectDestructorCallback(&clSetMemObjectDestructorCallbackData[i]);
453 for (i=0; i<NUM_ITEMS_clEnqueueUnmapMemObject; i++) {
454 test_clEnqueueUnmapMemObject(&clEnqueueUnmapMemObjectData[i]);
457 for (i=0; i<NUM_ITEMS_clGetMemObjectInfo; i++) {
458 test_clGetMemObjectInfo(&clGetMemObjectInfoData[i]);