File tree Expand file tree Collapse file tree
velocity/com/nativelibs4java/opencl Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3434
3535#macro (declareEventsIn)
3636 int[] eventsInCount = new int[1];
37- Pointer<cl_event> eventsIn = CLAbstractEntity.copyNonNullEntities(eventsToWaitFor, eventsInCount, ptrs.events_in);
37+ Pointer<cl_event> eventsIn =
38+ CLAbstractEntity.copyNonNullEntities(eventsToWaitFor, eventsInCount, ptrs.events_in);
3839#end
3940
4041#macro (declareEventOut)
41- Pointer<cl_event> eventOut = CLEvent.new_event_out(eventsToWaitFor, ptrs.event_out);
42+ Pointer<cl_event> eventOut =
43+ eventsToWaitFor == null || CLEvent.containsFireAndForget(eventsToWaitFor)
44+ ? null
45+ : ptrs.event_out;
4246#end
4347
4448#macro (declareEventsOutBlockable)
45- Pointer<cl_event> eventOut = blocking ? null : CLEvent.new_event_out(eventsToWaitFor, ptrs.event_out);
49+ Pointer<cl_event> eventOut =
50+ blocking || eventsToWaitFor == null || CLEvent.containsFireAndForget(eventsToWaitFor)
51+ ? null
52+ : ptrs.event_out;
4653#end
4754
4855#macro (declarePErr)
Original file line number Diff line number Diff line change @@ -168,16 +168,12 @@ public void run() {
168168 }.start();
169169 }
170170
171- static Pointer<cl_event> new_event_out(CLEvent[] eventsToWaitFor, Pointer<cl_event> event_out) {
172- if (eventsToWaitFor == null)
173- return null;
174-
175- for (int i = 0, n = eventsToWaitFor.length; i < n; i++) {
171+ static boolean containsFireAndForget(CLEvent[] eventsToWaitFor) {
172+ for (int i = eventsToWaitFor.length; i-- != 0;) {
176173 if (eventsToWaitFor[i] == FIRE_AND_FORGET)
177- return null ;
174+ return true ;
178175 }
179-
180- return event_out;
176+ return false;
181177 }
182178
183179 @Override
Original file line number Diff line number Diff line change 77 *
88 * @author ochafik
99 */
10- class ReusablePointers {
10+ final class ReusablePointers {
1111 public final ReusablePointer
1212 sizeT3_1 = new ReusablePointer (3 * SizeT .SIZE ),
1313 sizeT3_2 = new ReusablePointer (3 * SizeT .SIZE ),
You can’t perform that action at this time.
0 commit comments