aboutsummaryrefslogtreecommitdiffstats
path: root/resources/cl-impl.cfg
blob: 58c550f54ad64af4e642b6daf4eeb1e4936f0269 (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
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
Ignore clCreateContextFromType
Ignore clBuildProgram
Ignore clEnqueueNativeKernel
Ignore 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

#include custom code
IncludeAs CustomJavaCode CLAbstractImpl clImplCustomCode.java
IncludeAs CustomCCode clImplCustomCode.c

#JavaEpilogue clCreateKernelsInProgram if(kernels!=null && CPU.is32Bit() && kernels.lenght > 1) { convert32To64(kernels); }