Skip to content

Commit cf320fe

Browse files
committed
JavaCL: fix vector type args in CLKernel.setArgs
1 parent e2e6bd4 commit cf320fe

2 files changed

Lines changed: 49 additions & 9 deletions

File tree

Core/src/main/java/com/nativelibs4java/opencl/CLKernel.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ public void setLocalArg(int argIndex, long localArgByteLength) {
258258
setKernelArg(argIndex, localArgByteLength, null);
259259
}
260260

261-
protected void setKernelArg(int i, long size, Pointer<?> ptr) {
261+
private void setKernelArg(int i, long size, Pointer<?> ptr) {
262262
if (size <= 0)
263263
throw new IllegalArgumentException("Kernel args must have a known byte size, given " + size + " instead.");
264264
try {
@@ -277,49 +277,49 @@ public void setArg(int i, float[] arg) {
277277
setArg(i, arg, tmp());
278278
}
279279
private void setArg(int i, float[] arg, Pointer<?> tmp) {
280-
setArg(i, arg.length <= MAX_TMP_ITEMS ? tmp.setFloats(arg) : pointerToFloats(arg));
280+
setArg(i, arg.length * 4, arg.length <= MAX_TMP_ITEMS ? tmp.setFloats(arg) : pointerToFloats(arg));
281281
}
282282
public void setArg(int i, int[] arg) {
283283
setArg(i, arg, tmp());
284284
}
285285
private void setArg(int i, int[] arg, Pointer<?> tmp) {
286-
setArg(i, arg.length <= MAX_TMP_ITEMS ? tmp.setInts(arg) : pointerToInts(arg));
286+
setArg(i, arg.length * 4, arg.length <= MAX_TMP_ITEMS ? tmp.setInts(arg) : pointerToInts(arg));
287287
}
288288
public void setArg(int i, double[] arg) {
289289
setArg(i, arg, tmp());
290290
}
291291
private void setArg(int i, double[] arg, Pointer<?> tmp) {
292-
setArg(i, arg.length <= MAX_TMP_ITEMS ? tmp.setDoubles(arg) : pointerToDoubles(arg));
292+
setArg(i, arg.length * 8, arg.length <= MAX_TMP_ITEMS ? tmp.setDoubles(arg) : pointerToDoubles(arg));
293293
}
294294
public void setArg(int i, long[] arg) {
295295
setArg(i, arg, tmp());
296296
}
297297
private void setArg(int i, long[] arg, Pointer<?> tmp) {
298-
setArg(i, arg.length <= MAX_TMP_ITEMS ? tmp.setLongs(arg) : pointerToLongs(arg));
298+
setArg(i, arg.length * 8, arg.length <= MAX_TMP_ITEMS ? tmp.setLongs(arg) : pointerToLongs(arg));
299299
}
300300
public void setArg(int i, short[] arg) {
301301
setArg(i, arg, tmp());
302302
}
303303
private void setArg(int i, short[] arg, Pointer<?> tmp) {
304-
setArg(i, arg.length <= MAX_TMP_ITEMS ? tmp.setShorts(arg) : pointerToShorts(arg));
304+
setArg(i, arg.length * 2, arg.length <= MAX_TMP_ITEMS ? tmp.setShorts(arg) : pointerToShorts(arg));
305305
}
306306
public void setArg(int i, byte[] arg) {
307307
setArg(i, arg, tmp());
308308
}
309309
private void setArg(int i, byte[] arg, Pointer<?> tmp) {
310-
setArg(i, arg.length <= MAX_TMP_ITEMS ? tmp.setBytes(arg) : pointerToBytes(arg));
310+
setArg(i, arg.length, arg.length <= MAX_TMP_ITEMS ? tmp.setBytes(arg) : pointerToBytes(arg));
311311
}
312312
public void setArg(int i, boolean[] arg) {
313313
setArg(i, arg, tmp());
314314
}
315315
private void setArg(int i, boolean[] arg, Pointer<?> tmp) {
316-
setArg(i, arg.length <= MAX_TMP_ITEMS ? tmp.setBooleans(arg) : pointerToBooleans(arg));
316+
setArg(i, arg.length, arg.length <= MAX_TMP_ITEMS ? tmp.setBooleans(arg) : pointerToBooleans(arg));
317317
}
318318
public void setArg(int i, char[] arg) {
319319
setArg(i, arg, tmp());
320320
}
321321
private void setArg(int i, char[] arg, Pointer<?> tmp) {
322-
setArg(i, arg.length <= MAX_TMP_ITEMS ? tmp.setChars(arg) : pointerToChars(arg));
322+
setArg(i, arg.length * 2, arg.length <= MAX_TMP_ITEMS ? tmp.setChars(arg) : pointerToChars(arg));
323323
}
324324

325325
public void setArg(int i, SizeT arg) {
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
<parent>
4+
<artifactId>nativelibs4java-parent</artifactId>
5+
<groupId>com.nativelibs4java</groupId>
6+
<version>1.8-SNAPSHOT</version>
7+
<relativePath>../..</relativePath>
8+
</parent>
9+
<modelVersion>4.0.0</modelVersion>
10+
<groupId>com.nativelibs4java</groupId>
11+
<artifactId>javacl-shaded</artifactId>
12+
<name>JavaCL Shaded</name>
13+
<version>1.0-SNAPSHOT</version>
14+
<url>http://code.google.com/p/javacl/</url>
15+
<build>
16+
<plugins>
17+
<plugin>
18+
<artifactId>maven-shade-plugin</artifactId>
19+
</plugin>
20+
</plugins>
21+
</build>
22+
<dependencies>
23+
<dependency>
24+
<groupId>junit</groupId>
25+
<artifactId>junit</artifactId>
26+
<version>4.10</version>
27+
<scope>test</scope>
28+
<exclusions>
29+
<exclusion>
30+
<artifactId>hamcrest-core</artifactId>
31+
<groupId>org.hamcrest</groupId>
32+
</exclusion>
33+
</exclusions>
34+
</dependency>
35+
</dependencies>
36+
<properties>
37+
<shadedArtifactAttached>false</shadedArtifactAttached>
38+
</properties>
39+
</project>
40+

0 commit comments

Comments
 (0)