blob: 01b9ea288f570288f5e82b286f8ab97e8420c777 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
Include cl-common.cfg
NativeOutputDir gensrc/native/jocl12
Style ImplOnly
#imports for all generated java files
Import com.jogamp.opencl.llb.gl.CLGL
Import java.security.AccessController
Import java.security.PrivilegedAction
ClassJavadoc CLAbstractImpl12 /**
ClassJavadoc CLAbstractImpl12 * Java bindings to OpenCL, the Open Computing Language (generated).
ClassJavadoc CLAbstractImpl12 * @author Michael Bien, GlueGen, et al.
ClassJavadoc CLAbstractImpl12 */
ImplJavaClass CLAbstractImpl12
AccessControl CLAbstractImpl12 PUBLIC_ABSTRACT
Implements CLAbstractImpl12 CLGL
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 <CL/cl.h>
CustomCCode #include <CL/cl_ext.h>
CustomCCode #include <CL/cl_gl.h>
CustomCCode #include <GL/glcorearb.h>
CustomCCode #include <inttypes.h>
# 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 CLAbstractImpl12 clImplCustomCode12.java
ManualStaticInitCall CLAbstractImpl12
IncludeAs CustomCCode clImplCustomCode12.c
|