Include cl-common.cfg NativeOutputDir gensrc/native/jocl12 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.CL12 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 CLImpl12 /** ClassJavadoc CLImpl12 * Java bindings to OpenCL, the Open Computing Language (generated). ClassJavadoc CLImpl12 * @author Michael Bien, GlueGen, et al. ClassJavadoc CLImpl12 */ JavaClass CL12 Extends CL12 CL ImplJavaClass CLImpl12 AccessControl CLImpl12 PUBLIC LocalProcAddressCallingConvention __ALL__ CL_API_CALL EmitProcAddressTable true ProcAddressTableClassName CLProcAddressTable12 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 CLImpl12 clImplCustomCode12.java IncludeAs CustomJavaCode CLImpl12 clImplCustomCode.java ManualStaticInitCall CLImpl12 IncludeAs CustomCCode clImplCustomCode.c IncludeAs CustomCCode clImplCustomCode12.c