aboutsummaryrefslogtreecommitdiffstats
path: root/resources/cl-impl.cfg
blob: f42b814c267f06ed75d439b11c89d0371b5b5b22 (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
Include cl-common.cfg

Style ImplOnly

#imports for all generated java files
Import com.jogamp.opencl.*
Import com.jogamp.opencl.gl.CLGLI

ClassJavadoc CLAbstractImpl /**
ClassJavadoc CLAbstractImpl  * Java bindings to OpenCL, the Open Computing Language (generated).
ClassJavadoc CLAbstractImpl  * @author Michael Bien
ClassJavadoc CLAbstractImpl  */

ImplJavaClass CLAbstractImpl
AccessControl CLAbstractImpl PUBLIC_ABSTRACT
Implements CLAbstractImpl CLGLI

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__

Unignore clGetExtensionFunctionAddress
RenameJavaMethod clGetExtensionFunctionAddress clGetExtensionFunctionAddressImpl
AccessControl clGetExtensionFunctionAddressImpl PROTECTED
ArgumentIsString clGetExtensionFunctionAddressImpl 0

#append to generated c files
CustomCCode #include <CL/cl.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

#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