Include cl-common.cfg NativeOutputDir gensrc/native/jocl20 Style ImplOnly #imports for all generated java files Import com.jogamp.opencl.llb.gl.CLGL Import java.security.AccessController Import java.security.PrivilegedAction ClassJavadoc CLAbstractImpl20 /** ClassJavadoc CLAbstractImpl20 * Java bindings to OpenCL, the Open Computing Language (generated). ClassJavadoc CLAbstractImpl20 * @author Michael Bien, GlueGen, et al. ClassJavadoc CLAbstractImpl20 */ ImplJavaClass CLAbstractImpl20 AccessControl CLAbstractImpl20 PUBLIC_ABSTRACT Implements CLAbstractImpl20 CLGL LocalProcAddressCallingConvention __ALL__ CL_API_CALL EmitProcAddressTable true ProcAddressTableClassName CLProcAddressTable20 GetProcAddressTableExpr addressTable ProcAddressNameExpr $UpperCase(arg) ForceProcAddressGen __ALL__ #dynamic binding for OpenGL specific functions... #ForceProcAddressGen clGetGLContextInfoKHR #ForceProcAddressGen clCreateFromGLBuffer #ForceProcAddressGen clCreateFromGLRenderbuffer #ForceProcAddressGen clCreateFromGLTexture2D #ForceProcAddressGen clCreateFromGLTexture3D #ForceProcAddressGen clEnqueueAcquireGLObjects #ForceProcAddressGen clEnqueueReleaseGLObjects #ForceProcAddressGen clGetGLObjectInfo #ForceProcAddressGen clGetGLTextureInfo #ForceProcAddressGen clCreateEventFromGLsyncKHR #ForceProcAddressGen clIcdGetPlatformIDsKHR #ForceProcAddressGen clCreateSubBuffer #ForceProcAddressGen clCreateSubDevicesEXT #ForceProcAddressGen clCreateUserEvent #ForceProcAddressGen clEnqueueCopyBufferRect #ForceProcAddressGen clEnqueueReadBufferRect #ForceProcAddressGen clEnqueueWriteBufferRect #ForceProcAddressGen clReleaseDeviceEXT #ForceProcAddressGen clRetainDeviceEXT #ForceProcAddressGen clSetUserEventStatus #...or force all ForceProcAddressGen __ALL__ # # extern CL_API_ENTRY void * CL_API_CALL clGetExtensionFunctionAddress(const char * /* func_name */) CL_API_SUFFIX__VERSION_1_0; # Ignore clGetExtensionFunctionAddress ForceProcAddressGen clGetExtensionFunctionAddress #append to generated c files CustomCCode #include CustomCCode #include CustomCCode #include CustomCCode #include CustomCCode #include # implement manually via custom code Ignore clCreateContext ForceProcAddressGen clCreateContext Ignore clCreateContextFromType ForceProcAddressGen clCreateContextFromType Ignore clBuildProgram ForceProcAddressGen clBuildProgram Ignore clCompileProgram ForceProcAddressGen clCompileProgram Ignore clLinkProgram ForceProcAddressGen clLinkProgram Ignore clEnqueueNativeKernel ForceProcAddressGen clEnqueueNativeKernel Ignore clReleaseContext ForceProcAddressGen clReleaseContext Ignore clSetEventCallback ForceProcAddressGen clSetEventCallback Ignore clSetMemObjectDestructorCallback ForceProcAddressGen clSetMemObjectDestructorCallback #take buffer capacity from input param 5 ReturnValueCapacity clEnqueueMapBuffer {5} #this one is more complicated, we have to calculate the capacity with custom code ManuallyImplement clEnqueueMapImage ForceProcAddressGen clEnqueueMapImage #include custom code IncludeAs CustomJavaCode CLAbstractImpl20 clImplCustomCode20.java ManualStaticInitCall CLAbstractImpl20 IncludeAs CustomCCode clImplCustomCode20.c