Revision: 3420
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3420&view=rev
Author: spasi
Date: 2010-09-30 17:52:16 +0000 (Thu, 30 Sep 2010)
Log Message:
-----------
Added checks for CL 1.1 stuff.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/test/opencl/HelloOpenCL.java
Modified: trunk/LWJGL/src/java/org/lwjgl/test/opencl/HelloOpenCL.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/test/opencl/HelloOpenCL.java 2010-09-30 17:21:50 UTC (rev 3419)
+++ trunk/LWJGL/src/java/org/lwjgl/test/opencl/HelloOpenCL.java 2010-09-30 17:52:16 UTC (rev 3420)
@@ -35,6 +35,7 @@
import org.lwjgl.LWJGLException;
import org.lwjgl.PointerBuffer;
import org.lwjgl.opencl.*;
+import org.lwjgl.opencl.api.CLBufferRegion;
import java.nio.ByteBuffer;
import java.util.List;
@@ -70,8 +71,10 @@
final List<CLDevice> devices = platform.getDevices(CL_DEVICE_TYPE_ALL);
for ( CLDevice device : devices ) {
+ final CLDeviceCapabilities caps = CLCapabilities.getDeviceCapabilities(device);
+
System.out.println("\n\tNEW DEVICE: " + device.getPointer());
- System.out.println(CLCapabilities.getDeviceCapabilities(device));
+ System.out.println(caps);
System.out.println("\t-------------------------");
System.out.println("\tCL_DEVICE_TYPE = " + device.getInfoInt(CL_DEVICE_TYPE));
@@ -91,7 +94,8 @@
printDeviceInfo(device, "CL_DRIVER_VERSION", CL_DRIVER_VERSION);
printDeviceInfo(device, "CL_DEVICE_PROFILE", CL_DEVICE_PROFILE);
printDeviceInfo(device, "CL_DEVICE_VERSION", CL_DEVICE_VERSION);
- printDeviceInfo(device, "CL_DEVICE_OPENCL_C_VERSION", CL_DEVICE_OPENCL_C_VERSION);
+ if ( caps.OpenCL11 )
+ printDeviceInfo(device, "CL_DEVICE_OPENCL_C_VERSION", CL_DEVICE_OPENCL_C_VERSION);
CLContext context = clCreateContext(ctxProps, device, new CLContextCallback() {
protected void handleMessage(final String errinfo, final ByteBuffer private_info) {
@@ -101,29 +105,29 @@
CLMem buffer = clCreateBuffer(context, CL_MEM_READ_ONLY, 128, null);
- clSetMemObjectDestructorCallback(buffer, new CLMemObjectDestructorCallback() {
- protected void handleMessage(final long memobj) {
- System.out.println("FIRST Buffer destructed: " + memobj);
- }
- });
+ if ( caps.OpenCL11 ) {
+ clSetMemObjectDestructorCallback(buffer, new CLMemObjectDestructorCallback() {
+ protected void handleMessage(final long memobj) {
+ System.out.println("FIRST Buffer destructed: " + memobj);
+ }
+ });
- clSetMemObjectDestructorCallback(buffer, new CLMemObjectDestructorCallback() {
- protected void handleMessage(final long memobj) {
- System.out.println("SECOND Buffer destructed: " + memobj);
- }
- });
+ clSetMemObjectDestructorCallback(buffer, new CLMemObjectDestructorCallback() {
+ protected void handleMessage(final long memobj) {
+ System.out.println("SECOND Buffer destructed: " + memobj);
+ }
+ });
+ }
- ByteBuffer bufferCreateInfo = BufferUtils.createByteBuffer(2 * PointerBuffer.getPointerSize());
- PointerBuffer.put(bufferCreateInfo, 0);
- PointerBuffer.put(bufferCreateInfo, 64);
- bufferCreateInfo.flip();
- CLMem subbuffer = clCreateSubBuffer(buffer, CL10.CL_MEM_READ_ONLY, CL11.CL_BUFFER_CREATE_TYPE_REGION, bufferCreateInfo, null);
+ if ( caps.OpenCL11 ) {
+ CLMem subbuffer = buffer.createSubBuffer(CL_MEM_READ_ONLY, CL_BUFFER_CREATE_TYPE_REGION, new CLBufferRegion(0, 64), null);
- clSetMemObjectDestructorCallback(subbuffer, new CLMemObjectDestructorCallback() {
- protected void handleMessage(final long memobj) {
- System.out.println("Sub Buffer destructed: " + memobj);
- }
- });
+ clSetMemObjectDestructorCallback(subbuffer, new CLMemObjectDestructorCallback() {
+ protected void handleMessage(final long memobj) {
+ System.out.println("Sub Buffer destructed: " + memobj);
+ }
+ });
+ }
clRetainMemObject(buffer);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|