Jogamp
Remove CLGL interface
authorWade Walker <wwalker3@austin.rr.com>
Sun, 4 Oct 2015 19:08:22 +0000 (14:08 -0500)
committerWade Walker <wwalker3@austin.rr.com>
Sun, 8 Nov 2015 20:05:31 +0000 (14:05 -0600)
This removes the last sub-interface that would have to be separately
versioned for future versions of OpenCL. After this, new OpenCL versions
will only create one new interface and one new implementation.

15 files changed:
make/build.xml
make/config/cl-if.cfg
make/config/cl-impl-11.cfg
make/config/cl-impl-12.cfg
make/config/cl-impl-20.cfg
make/config/clgl-if.cfg [deleted file]
src/com/jogamp/opencl/CLCommandQueue.java
src/com/jogamp/opencl/CLEvent.java
src/com/jogamp/opencl/CLException.java
src/com/jogamp/opencl/CLMemory.java
src/com/jogamp/opencl/gl/CLGLBuffer.java
src/com/jogamp/opencl/gl/CLGLContext.java
src/com/jogamp/opencl/gl/CLGLImage2d.java
src/com/jogamp/opencl/gl/CLGLTexture2d.java
src/com/jogamp/opencl/gl/CLGLTexture3d.java

index 2470439..e608d25 100644 (file)
             <classpath refid="gluegen.classpath" />
         </gluegen>
 
-        <echo message="Generating CLGL.java from OpenCL version 1.1"/>
-        <gluegen src="${stub.includes}/opencl.h"
-                 outputRootDir="${build}"
-                 config="${config}/clgl-if.cfg"
-                 includeRefid="stub.includes.fileset.all.11"
-                 literalInclude="${stub.includes.gluegen.all}"
-                 emitter="com.jogamp.gluegen.JavaEmitter"
-                 debug="false">
-            <classpath refid="gluegen.classpath" />
-        </gluegen>
-
         <echo message="Generating CLImpl.java, CLImpl_JNI.c, and CLProcAddressTable.java for OpenCL version 1.1"/>
         <gluegen src="${stub.includes}/opencl.h"
                  outputRootDir="${build}"
index d4d600b..b01ab95 100644 (file)
@@ -14,9 +14,6 @@ ClassJavadoc CL  * @author Michael Bien, GlueGen, et al.
 ClassJavadoc CL  */
 JavaClass CL
 
-#ignore cl-gl interoperability functions. Interface 'CL' is pure OpenCL.
-Ignore CL_GL_.*|cl.*GL.*|.*_GL_.*
-
 Ignore clCreateContext
 Ignore clCreateContextFromType
 Ignore clBuildProgram
@@ -44,3 +41,9 @@ CustomJavaCode CL  public int clSetMemObjectDestructorCallback(long memObjID, CL
 CustomJavaCode CL
 CustomJavaCode CL  /** Interface to C language function: <br> <code> int32_t {@native clSetEventCallback}(cl_event event, cl_int command_exec_callback_type, void (CL_CALLBACK  *pfn_event_notify) (cl_event event, cl_int event_command_exec_status, void *user_data), void *user_data); </code>    */
 CustomJavaCode CL  public int clSetEventCallback(long event, int type, CLEventCallback cb);
+
+CustomJavaCode CL /** To be used on Mac OSX instead of {@link #CL_CGL_SHAREGROUP_KHR}}. FIXME: For all Mac OSX versions? */
+CustomJavaCode CL public static final int CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE = 0x10000000;
+
+#append to generated c files
+#CustomCCode #include <inttypes.h>
index 34d4842..25f3a11 100644 (file)
@@ -4,7 +4,7 @@ NativeOutputDir gensrc/native/jocl11
 Style ImplOnly
 
 #imports for all generated java files
-Import com.jogamp.opencl.llb.gl.CLGL
+Import com.jogamp.opencl.llb.CL
 Import java.security.AccessController
 Import java.security.PrivilegedAction
 Import com.jogamp.common.nio.PointerBuffer
@@ -22,7 +22,7 @@ ClassJavadoc CLImpl11  */
 
 ImplJavaClass CLImpl11
 AccessControl CLImpl11 PUBLIC
-Implements CLImpl11 CLGL
+Implements CLImpl11 CL
 
 LocalProcAddressCallingConvention __ALL__ CL_API_CALL
 
index 2f8e8dd..c6b875f 100644 (file)
@@ -4,7 +4,7 @@ NativeOutputDir gensrc/native/jocl12
 Style ImplOnly
 
 #imports for all generated java files
-Import com.jogamp.opencl.llb.gl.CLGL
+Import com.jogamp.opencl.llb.CL
 Import java.security.AccessController
 Import java.security.PrivilegedAction
 Import com.jogamp.common.nio.PointerBuffer
@@ -22,7 +22,7 @@ ClassJavadoc CLImpl12  */
 
 ImplJavaClass CLImpl12
 AccessControl CLImpl12 PUBLIC
-Implements CLImpl12 CLGL
+Implements CLImpl12 CL
 
 LocalProcAddressCallingConvention __ALL__ CL_API_CALL
 
index 8f8358e..145d52b 100644 (file)
@@ -4,7 +4,7 @@ NativeOutputDir gensrc/native/jocl20
 Style ImplOnly
 
 #imports for all generated java files
-Import com.jogamp.opencl.llb.gl.CLGL
+Import com.jogamp.opencl.llb.CL
 Import java.security.AccessController
 Import java.security.PrivilegedAction
 Import com.jogamp.common.nio.PointerBuffer
@@ -22,7 +22,7 @@ ClassJavadoc CLImpl20  */
 
 ImplJavaClass CLImpl20
 AccessControl CLImpl20 PUBLIC
-Implements CLImpl20 CLGL
+Implements CLImpl20 CL
 
 LocalProcAddressCallingConvention __ALL__ CL_API_CALL
 
diff --git a/make/config/clgl-if.cfg b/make/config/clgl-if.cfg
deleted file mode 100644 (file)
index 1671f76..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-Include cl-common.cfg
-
-#overwrite package
-Package com.jogamp.opencl.llb.gl
-
-import com.jogamp.opencl.llb.CL
-
-Style InterfaceOnly
-
-ClassJavadoc CLGL /**
-ClassJavadoc CLGL  * Java bindings to OpenCL, the Open Computing Language.
-ClassJavadoc CLGL  * OpenGL - OpenCL interoperability.
-ClassJavadoc CLGL  * @author Michael Bien, GlueGen, et al.
-ClassJavadoc CLGL  */
-JavaClass CLGL
-
-Extends CLGL CL
-
-#only include token starting with CL_GL_ and methods containing GL
-IgnoreNot CL_GL_.*|cl.*GL.*|.*_GL_.*
-
-CustomJavaCode CLGL /** To be used on Mac OSX instead of {@link #CL_CGL_SHAREGROUP_KHR}}. FIXME: For all Mac OSX versions? */
-CustomJavaCode CLGL public static final int CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE = 0x10000000;
-
-#append to generated c files
-#CustomCCode #include <inttypes.h>
index 5dda094..f95576b 100644 (file)
@@ -47,7 +47,6 @@ import com.jogamp.common.nio.CachedBufferFactory;
 import com.jogamp.common.nio.PointerBuffer;
 import com.jogamp.opencl.gl.CLGLObject;
 import com.jogamp.opencl.llb.CL;
-import com.jogamp.opencl.llb.gl.CLGL;
 
 /**
  * The command queue is used to queue a set of operations for a specific {@link CLDevice}.
@@ -1701,9 +1700,7 @@ public class CLCommandQueue extends CLObjectResource {
             conditions   = condition.size;
         }
 
-        final CLGL xl = (CLGL) cl;
-
-        final int ret = xl.clEnqueueAcquireGLObjects(ID, glObjectIDs.remaining(), glObjectIDs,
+        final int ret = cl.clEnqueueAcquireGLObjects(ID, glObjectIDs.remaining(), glObjectIDs,
                     conditions, conditionIDs,
                     events==null ? null : events.IDs);
 
@@ -1770,9 +1767,7 @@ public class CLCommandQueue extends CLObjectResource {
             conditions   = condition.size;
         }
 
-        final CLGL xl = (CLGL) cl;
-
-        final int ret = xl.clEnqueueReleaseGLObjects(ID, glObjectIDs.remaining(), glObjectIDs,
+        final int ret = cl.clEnqueueReleaseGLObjects(ID, glObjectIDs.remaining(), glObjectIDs,
                 conditions, conditionIDs,
                 events==null ? null : events.IDs);
 
index 2406f4a..af22e24 100644 (file)
@@ -35,7 +35,6 @@ import com.jogamp.common.nio.PointerBuffer;
 import java.nio.Buffer;
 
 import static com.jogamp.opencl.llb.CL.*;
-import static com.jogamp.opencl.llb.gl.CLGL.*;
 import static com.jogamp.opencl.CLException.*;
 
 /**
index c8ad3fd..890c203 100644 (file)
@@ -28,7 +28,6 @@
 
 package com.jogamp.opencl;
 
-import com.jogamp.opencl.llb.gl.CLGL;
 import com.jogamp.opencl.llb.CL;
 
 /**
@@ -146,8 +145,8 @@ public class CLException extends RuntimeException {
             case CL.CL_PLATFORM_NOT_FOUND_KHR:                 return "CL_PLATFORM_NOT_FOUND_KHR";
             case CL.CL_MISALIGNED_SUB_BUFFER_OFFSET:             return "CL_MISALIGNED_SUB_BUFFER_OFFSET";
             case CL.CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST:  return "CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST";
-            case CLGL.CL_INVALID_GL_OBJECT:                    return "CL_INVALID_GL_OBJECT";
-            case CLGL.CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR:  return "CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR";
+            case CL.CL_INVALID_GL_OBJECT:                    return "CL_INVALID_GL_OBJECT";
+            case CL.CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR:  return "CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR";
             default: return null;
         }
     }
@@ -203,8 +202,8 @@ public class CLException extends RuntimeException {
             case CL.CL_PLATFORM_NOT_FOUND_KHR:                 return new CLPlatformNotFoundKhrException(message);
             case CL.CL_MISALIGNED_SUB_BUFFER_OFFSET:             return new CLMisalignedSubBufferOffsetException(message);
             case CL.CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST:  return new CLExecStatusErrorForEventsInWaitListException(message);
-            case CLGL.CL_INVALID_GL_OBJECT:                    return new CLInvalidGLObjectException(message);
-            case CLGL.CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR:  return new CLInvalidGLSharegroupReferenceKhrException(message);
+            case CL.CL_INVALID_GL_OBJECT:                    return new CLInvalidGLObjectException(message);
+            case CL.CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR:  return new CLInvalidGLSharegroupReferenceKhrException(message);
             default: return null;
         }
     }
@@ -664,9 +663,9 @@ public class CLException extends RuntimeException {
      *
      */
     public final static class CLInvalidGLObjectException extends CLException {
-        private static final long serialVersionUID = CLException.serialVersionUID+CLGL.CL_INVALID_GL_OBJECT;
+        private static final long serialVersionUID = CLException.serialVersionUID+CL.CL_INVALID_GL_OBJECT;
         public CLInvalidGLObjectException(final String message) {
-            super(CLGL.CL_INVALID_GL_OBJECT, "CL_INVALID_GL_OBJECT", message);
+            super(CL.CL_INVALID_GL_OBJECT, "CL_INVALID_GL_OBJECT", message);
         }
     }
 
@@ -719,9 +718,9 @@ public class CLException extends RuntimeException {
      *
      */
     public final static class CLInvalidGLSharegroupReferenceKhrException extends CLException {
-        private static final long serialVersionUID = CLException.serialVersionUID+CLGL.CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR;
+        private static final long serialVersionUID = CLException.serialVersionUID+CL.CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR;
         public CLInvalidGLSharegroupReferenceKhrException(final String message) {
-            super(CLGL.CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR, "CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR", message);
+            super(CL.CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR, "CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR", message);
         }
     }
 
index cf1d880..6a28d0a 100644 (file)
@@ -39,7 +39,7 @@ import java.util.EnumSet;
 import java.util.List;
 
 import static com.jogamp.opencl.CLException.*;
-import static com.jogamp.opencl.llb.gl.CLGL.*;
+import static com.jogamp.opencl.llb.CL.*;
 
 /**
  * Common superclass for all OpenCL memory types.
index 11d3a55..660f243 100644 (file)
@@ -32,7 +32,7 @@ import com.jogamp.opencl.CLBuffer;
 import com.jogamp.opencl.CLCommandQueue;
 import com.jogamp.opencl.CLContext;
 import com.jogamp.opencl.CLException;
-import com.jogamp.opencl.llb.gl.CLGL;
+import com.jogamp.opencl.llb.CL;
 
 import java.nio.Buffer;
 import com.jogamp.opengl.GLContext;
@@ -59,10 +59,9 @@ public final class CLGLBuffer<B extends Buffer> extends CLBuffer<B> implements C
     static <B extends Buffer> CLGLBuffer<B> create(final CLContext context, final B directBuffer, final long size, final int flags, final int glBuffer) {
         checkBuffer(directBuffer, flags);
 
-        final CLGL clgli = (CLGL)getCL(context);
-
+        final CL cl = getCL(context);
         final int[] result = new int[1];
-        final long id = clgli.clCreateFromGLBuffer(context.ID, flags, glBuffer, result, 0);
+        final long id = cl.clCreateFromGLBuffer(context.ID, flags, glBuffer, result, 0);
         CLException.checkForError(result[0], "can not create CLGLObject from glBuffer #"+glBuffer);
 
         return new CLGLBuffer<B>(context, directBuffer, id, glBuffer, size, flags);
index e1d7d0c..44f349c 100644 (file)
@@ -45,7 +45,6 @@ import com.jogamp.opencl.CLDevice;
 import com.jogamp.opencl.CLMemory.Mem;
 import com.jogamp.opencl.CLPlatform;
 import com.jogamp.opencl.llb.CL;
-import com.jogamp.opencl.llb.gl.CLGL;
 
 /**
  * OpenCL Context supporting JOGL-JOCL interoperablity.
@@ -164,7 +163,7 @@ public final class CLGLContext extends CLContext {
 //          create the OpenGL context."
             properties = PointerBuffer.allocateDirect(7);
             final long displayHandle = ctxImpl.getDrawableImpl().getNativeSurface().getDisplayHandle();
-            properties.put(CLGL.CL_GL_CONTEXT_KHR).put(glID[0])
+            properties.put(CL.CL_GL_CONTEXT_KHR).put(glID[0])
                       .put(CL.CL_GLX_DISPLAY_KHR).put(displayHandle)
                       .put(CL.CL_CONTEXT_PLATFORM).put(platform.ID);
         }else if(glContext instanceof WindowsWGLContext) {
@@ -174,7 +173,7 @@ public final class CLGLContext extends CLContext {
 //          HDC handle of the display used to create the OpenGL context."
             properties = PointerBuffer.allocateDirect(7);
             final long surfaceHandle = ctxImpl.getDrawableImpl().getNativeSurface().getSurfaceHandle();
-            properties.put(CLGL.CL_GL_CONTEXT_KHR).put(glID[0])
+            properties.put(CL.CL_GL_CONTEXT_KHR).put(glID[0])
                       .put(CL.CL_WGL_HDC_KHR).put(surfaceHandle)
                       .put(CL.CL_CONTEXT_PLATFORM).put(platform.ID);
         }else if(glContext instanceof MacOSXCGLContext) {
@@ -191,7 +190,7 @@ public final class CLGLContext extends CLContext {
             final long cgl = CGL.getCGLContext(glID[0]);
             final long group = CGL.CGLGetShareGroup(cgl);
             properties = PointerBuffer.allocateDirect(5);
-            properties.put(CLGL.CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE).put(group)
+            properties.put(CL.CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE).put(group)
                       .put(CL.CL_CONTEXT_PLATFORM).put(platform.ID);
         }else if(glContext instanceof EGLContext) {
 //            TODO test EGL
@@ -202,7 +201,7 @@ public final class CLGLContext extends CLContext {
 //          display used to create the OpenGL ES or OpenGL context."
             properties = PointerBuffer.allocateDirect(7);
             final long displayHandle = ctxImpl.getDrawableImpl().getNativeSurface().getDisplayHandle();
-            properties.put(CLGL.CL_GL_CONTEXT_KHR).put(glID[0])
+            properties.put(CL.CL_GL_CONTEXT_KHR).put(glID[0])
                       .put(CL.CL_EGL_DISPLAY_KHR).put(displayHandle)
                       .put(CL.CL_CONTEXT_PLATFORM).put(platform.ID);
         }else{
@@ -318,8 +317,8 @@ public final class CLGLContext extends CLContext {
      * Return the low level OpenCL interface with OpenGL interoperability.
      */
     @Override
-    public CLGL getCL() {
-        return (CLGL)super.getCL();
+    public CL getCL() {
+        return super.getCL();
     }
 
     /**
index 6761654..2422af9 100644 (file)
@@ -29,7 +29,6 @@
 package com.jogamp.opencl.gl;
 
 import com.jogamp.opencl.llb.CL;
-import com.jogamp.opencl.llb.gl.CLGL;
 import com.jogamp.opencl.CLContext;
 import com.jogamp.opencl.CLException;
 import com.jogamp.opencl.CLImage2d;
@@ -62,9 +61,8 @@ public class CLGLImage2d<B extends Buffer> extends CLImage2d<B> implements CLGLO
 
         final CL cl = getCL(context);
         final int[] result = new int[1];
-        final CLGL clgli = (CLGL)cl;
 
-        final long id = clgli.clCreateFromGLRenderbuffer(context.ID, flags, renderbuffer, result, 0);
+        final long id = cl.clCreateFromGLRenderbuffer(context.ID, flags, renderbuffer, result, 0);
         CLException.checkForError(result[0], "can not create CLGLImage2d from renderbuffer #"+renderbuffer+".");
 
         return createImage(context, id, directBuffer, renderbuffer, flags);
index 9b68e52..7cc591f 100644 (file)
@@ -33,7 +33,6 @@ import com.jogamp.opencl.CLContext;
 import com.jogamp.opencl.CLException;
 import com.jogamp.opencl.CLImageFormat;
 import com.jogamp.opencl.llb.impl.CLImageFormatImpl;
-import com.jogamp.opencl.llb.gl.CLGL;
 
 import java.nio.Buffer;
 
@@ -59,9 +58,8 @@ public class CLGLTexture2d<B extends Buffer> extends CLGLImage2d<B> implements C
 
         final CL cl = getCL(context);
         final int[] result = new int[1];
-        final CLGL clgli = (CLGL)cl;
 
-        final long id = clgli.clCreateFromGLTexture2D(context.ID, flags, target, mipLevel, texture, result, 0);
+        final long id = cl.clCreateFromGLTexture2D(context.ID, flags, target, mipLevel, texture, result, 0);
         CLException.checkForError(result[0], "can not create CLGLTexture2d from texture #"+texture+".");
 
         final CLImageInfoAccessor accessor = new CLImageInfoAccessor(cl, id);
index 24893dd..d61c455 100644 (file)
@@ -28,7 +28,6 @@
 
 package com.jogamp.opencl.gl;
 
-import com.jogamp.opencl.llb.gl.CLGL;
 import com.jogamp.opencl.llb.CL;
 import com.jogamp.opencl.CLContext;
 import com.jogamp.opencl.CLException;
@@ -68,9 +67,8 @@ public class CLGLTexture3d<B extends Buffer> extends CLImage3d<B> implements CLG
 
         final CL cl = getCL(context);
         final int[] result = new int[1];
-        final CLGL clgli = (CLGL)cl;
 
-        final long id = clgli.clCreateFromGLTexture3D(context.ID, flags, target, mipLevel, texture, result, 0);
+        final long id = cl.clCreateFromGLTexture3D(context.ID, flags, target, mipLevel, texture, result, 0);
         CLException.checkForError(result[0], "can not create CLGLTexture3d from texture #"+texture+".");
 
         final CLImageInfoAccessor accessor = new CLImageInfoAccessor(cl, id);
http://JogAmp.org git info: FAQ, tutorial and man pages.