summaryrefslogtreecommitdiffstats
path: root/make/config/cl-impl-20.cfg
blob: 8f8358ed195b0f6972a3d82e0e205fe978e2209c (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
106
107
108
109
110
111
112
113
114
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
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  */

ImplJavaClass CLImpl20
AccessControl CLImpl20 PUBLIC
Implements CLImpl20 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 <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 CLImpl20 clImplCustomCode20.java
IncludeAs CustomJavaCode CLImpl20 clImplCustomCode.java
ManualStaticInitCall CLImpl20
IncludeAs CustomCCode clImplCustomCode.c
IncludeAs CustomCCode clImplCustomCode20.c