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

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