summaryrefslogtreecommitdiffstats
path: root/test/com/jogamp/opencl
diff options
context:
space:
mode:
authorWade Walker <[email protected]>2015-09-20 15:09:04 -0500
committerWade Walker <[email protected]>2015-11-08 14:05:30 -0600
commit7c7146428a0584ad38f036d24a70c15f700f9a8e (patch)
tree7a66e83cc5bef52e1b07b5c8e9c7417b331e7f04 /test/com/jogamp/opencl
parent4638f4b3fdf4c946bda0b290a83652e4db00edea (diff)
Add ability to access newer CLImpl versions for devices
Added a CLPlatform method to return a CLImpl version specific to a device. This lets the user get a CLImpl12 or CLImpl20 instance which they could then cast to the right type and use to access newer CL functions than those in the default CLImpl11 object.
Diffstat (limited to 'test/com/jogamp/opencl')
-rw-r--r--test/com/jogamp/opencl/LowLevelBindingTest.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/test/com/jogamp/opencl/LowLevelBindingTest.java b/test/com/jogamp/opencl/LowLevelBindingTest.java
index 84aaa73e..39482aa2 100644
--- a/test/com/jogamp/opencl/LowLevelBindingTest.java
+++ b/test/com/jogamp/opencl/LowLevelBindingTest.java
@@ -32,6 +32,8 @@ import java.util.Random;
import com.jogamp.common.nio.PointerBuffer;
import com.jogamp.opencl.llb.impl.BuildProgramCallback;
+import com.jogamp.opencl.llb.impl.CLImpl12;
+import com.jogamp.opencl.llb.impl.CLImpl20;
import com.jogamp.opencl.llb.CL;
import com.jogamp.opencl.llb.CLContextBinding;
import com.jogamp.opencl.llb.CLDeviceBinding;
@@ -166,7 +168,16 @@ public class LowLevelBindingTest extends UITestCase {
checkForError(ret);
out.println(" device: " + clString2JavaString(bb, (int)longBuffer.get(0)));
- ret = cl.clGetDeviceInfo(device, CLDeviceBinding.CL_DEVICE_TYPE, bb.capacity(), bb, longBuffer);
+ // get the CL interface with version specific to this device
+ CL deviceInterface = CLPlatform.getLowLevelCLInterfaceForDevice(device);
+ if(deviceInterface instanceof CLImpl12)
+ out.println(" CL impl: 1.2");
+ else if(deviceInterface instanceof CLImpl20)
+ out.println(" CL impl: 2.0");
+ else
+ out.println(" CL impl: 1.1");
+
+ ret = deviceInterface.clGetDeviceInfo(device, CLDeviceBinding.CL_DEVICE_TYPE, bb.capacity(), bb, longBuffer);
checkForError(ret);
out.println(" type: " + CLDevice.Type.valueOf(bb.get()));
bb.rewind();