blob: 9a9526f15b223b6cf815ac48ff6197e206041626 (
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
|
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 clIcdGetPlatformIDsKHR
#...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 <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); }
|