diff options
Diffstat (limited to 'make/config/cl-impl.cfg')
-rw-r--r-- | make/config/cl-impl.cfg | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/make/config/cl-impl.cfg b/make/config/cl-impl.cfg new file mode 100644 index 00000000..c2aff892 --- /dev/null +++ b/make/config/cl-impl.cfg @@ -0,0 +1,95 @@ +Include cl-common.cfg + +Style ImplOnly + +#imports for all generated java files +Import com.jogamp.opencl.llb.* +Import com.jogamp.opencl.llb.gl.CLGL +Import java.security.AccessController +Import java.security.PrivilegedAction + +ClassJavadoc CLAbstractImpl /** +ClassJavadoc CLAbstractImpl * Java bindings to OpenCL, the Open Computing Language (generated). +ClassJavadoc CLAbstractImpl * @author Michael Bien, GlueGen, et al. +ClassJavadoc CLAbstractImpl */ + +ImplJavaClass CLAbstractImpl +AccessControl CLAbstractImpl PUBLIC_ABSTRACT +Implements CLAbstractImpl CLGL + +EmitProcAddressTable true +ProcAddressTableClassName CLProcAddressTable +GetProcAddressTableExpr addressTable +ProcAddressNameExpr $UpperCase(arg) + +#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 <CL/cl.h> +CustomCCode #include <CL/cl_ext.h> +CustomCCode #include <CL/cl_gl.h> +CustomCCode #include <GL3/gl3.h> +CustomCCode #include <inttypes.h> + +# implement manually via custom code +Ignore clCreateContext +ForceProcAddressGen clCreateContext + +Ignore clCreateContextFromType +ForceProcAddressGen clCreateContextFromType + +Ignore clBuildProgram +ForceProcAddressGen clBuildProgram + +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 CLAbstractImpl clImplCustomCode.java +IncludeAs CustomCCode clImplCustomCode.c + |