1 | #include "EXTERN.h" |
1 | #include "EXTERN.h" |
2 | #include "perl.h" |
2 | #include "perl.h" |
3 | #include "XSUB.h" |
3 | #include "XSUB.h" |
4 | |
4 | |
|
|
5 | #ifdef __APPLE__ |
|
|
6 | #include <OpenCL/opencl.h> |
|
|
7 | #else |
5 | #include <CL/opencl.h> |
8 | #include <CL/opencl.h> |
|
|
9 | #endif |
6 | |
10 | |
7 | typedef cl_platform_id OpenCL__Platform; |
11 | typedef cl_platform_id OpenCL__Platform; |
8 | typedef cl_device_id OpenCL__Device; |
12 | typedef cl_device_id OpenCL__Device; |
9 | typedef cl_context OpenCL__Context; |
13 | typedef cl_context OpenCL__Context; |
10 | typedef cl_command_queue OpenCL__Queue; |
14 | typedef cl_command_queue OpenCL__Queue; |
… | |
… | |
138 | } |
142 | } |
139 | |
143 | |
140 | static cl_event * |
144 | static cl_event * |
141 | event_list (SV **items, int count) |
145 | event_list (SV **items, int count) |
142 | { |
146 | { |
|
|
147 | if (!count) |
|
|
148 | return 0; |
|
|
149 | |
143 | cl_event *list = tmpbuf (sizeof (cl_event) * count); |
150 | cl_event *list = tmpbuf (sizeof (cl_event) * count); |
144 | |
151 | |
145 | while (count--) |
152 | while (count--) |
146 | list [count] = SvPTROBJ ("clEnqueue", "wait_events", items [count], "OpenCL::Event"); |
153 | list [count] = SvPTROBJ ("clEnqueue", "wait_events", items [count], "OpenCL::Event"); |
147 | |
154 | |