Include cl-common.cfg NativeOutputDir gensrc/native/jocl20 Style InterfaceAndImpl #imports for all generated java files Import com.jogamp.opencl.llb.impl.CLImageFormatImpl Import com.jogamp.opencl.llb.impl.CLImageDescImpl Import com.jogamp.opencl.llb.CL20 Import java.security.AccessController Import java.security.PrivilegedAction Import com.jogamp.common.nio.PointerBuffer Import com.jogamp.common.util.LongLongHashMap Import com.jogamp.opencl.CLErrorHandler Import com.jogamp.opencl.CLException Import java.nio.ByteBuffer Import java.nio.IntBuffer Import com.jogamp.common.nio.Buffers ClassJavadoc CLImpl20 /** ClassJavadoc CLImpl20 * Java bindings to OpenCL, the Open Computing Language (generated). ClassJavadoc CLImpl20 * @author Michael Bien, GlueGen, et al. ClassJavadoc CLImpl20 */ JavaClass CL20 Extends CL20 CL ImplJavaClass CLImpl20 AccessControl CLImpl20 PUBLIC 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 CLImpl20 clImplCustomCode20.java IncludeAs CustomJavaCode CLImpl20 clImplCustomCode.java ManualStaticInitCall CLImpl20 IncludeAs CustomCCode clImplCustomCode.c IncludeAs CustomCCode clImplCustomCode20.c