aboutsummaryrefslogtreecommitdiffstats
path: root/make/config/cl-common.cfg
blob: bf08b02529cb3f3b7e15c33379f0a07c03012ec8 (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
JavaOutputDir   gensrc/java

Package com.jogamp.opencl.llb

#map pointers to long as internal representation
Opaque long cl_context
Opaque long cl_device_type
Opaque long cl_command_queue
Opaque long cl_mem
Opaque long cl_program
Opaque long cl_kernel
Opaque long cl_event
Opaque long cl_sampler
Opaque long cl_platform_id
Opaque long cl_device_id
Opaque long cl_GLsync

#ignore for unnamed structs corresponding to the above types
Ignore _cl_context
Ignore _cl_command_queue
Ignore _cl_mem
Ignore _cl_program
Ignore _cl_kernel
Ignore _cl_event
Ignore _cl_sampler
Ignore _cl_platform_id
Ignore _cl_device_id
Ignore __GLsync

ArgumentIsString clCreateProgramWithSource 2
ArgumentIsString clBuildProgram 3
ArgumentIsString clCreateKernel 1
ArgumentIsString clCompileProgram 3
ArgumentIsString clCompileProgram 6
ArgumentIsString clLinkProgram 3

#common ignore
Ignore clGetExtensionFunctionAddress
Ignore CL_UINT_MAX
Ignore CL_LONG_MAX
Ignore CL_LONG_MIN
Ignore CL_ULONG_MAX

#use IllegalArgumentException for argument validation
RuntimeExceptionType IllegalArgumentException

#enforce client side "good behavior" by generating direct-memory-only bindings for
#performance critical functions.
#NioDirectOnly __ALL__

#command queue ops
NioDirectOnly clEnqueueBarrier
NioDirectOnly clEnqueueCopyBuffer
NioDirectOnly clEnqueueCopyBufferRect
NioDirectOnly clEnqueueCopyBufferToImage
NioDirectOnly clEnqueueCopyImage
NioDirectOnly clEnqueueCopyImageToBuffer
NioDirectOnly clEnqueueMapBuffer
NioDirectOnly clEnqueueMapImage
NioDirectOnly clEnqueueMarker
NioDirectOnly clEnqueueNDRangeKernel
NioDirectOnly clEnqueueReadBuffer
NioDirectOnly clEnqueueReadBufferRect
NioDirectOnly clEnqueueReadImage
NioDirectOnly clEnqueueTask
NioDirectOnly clEnqueueUnmapMemObject
NioDirectOnly clEnqueueWaitForEvents
NioDirectOnly clEnqueueWriteBuffer
NioDirectOnly clEnqueueWriteBufferRect
NioDirectOnly clEnqueueWriteImage
NioDirectOnly clEnqueueAcquireGLObjects
NioDirectOnly clEnqueueReleaseGLObjects
#kernel ops
NioDirectOnly clSetKernelArg

#temporary disable all functions containing long[] until 32bit compatibility is fixed
NioDirectOnly clCreateKernelsInProgram
NioDirectOnly clCreateProgramWithBinary
NioDirectOnly clCreateProgramWithSource
#NioDirectOnly clCreateBuffer
#NioDirectOnly clCreateUserEvent

NioDirectOnly clGetCommandQueueInfo
NioDirectOnly clGetContextInfo
NioDirectOnly clGetDeviceIDs
NioDirectOnly clGetDeviceInfo
NioDirectOnly clGetEventInfo
NioDirectOnly clGetEventProfilingInfo
NioDirectOnly clGetImageInfo
NioDirectOnly clGetKernelInfo
NioDirectOnly clGetKernelWorkGroupInfo
NioDirectOnly clGetMemObjectInfo
NioDirectOnly clGetPlatformIDs
NioDirectOnly clGetPlatformInfo
NioDirectOnly clGetProgramBuildInfo
NioDirectOnly clGetProgramInfo
NioDirectOnly clGetSamplerInfo
#NioDirectOnly clGetSupportedImageFormats

NioDirectOnly clSetCommandQueueProperty
NioDirectOnly clWaitForEvents
#NioDirectOnly clCreateContext
#NioDirectOnly clBuildProgram
NioDirectOnly clIcdGetPlatformIDsKHR

#extensions
NioDirectOnly clGetGLContextInfoKHR
#NioDirectOnly clCreateSubDevicesEXT


#common rename emitted struct accessors
#struct cl_image_format
RenameJavaType cl_image_format CLImageFormatImpl
StructPackage cl_image_format com.jogamp.opencl.llb.impl

#struct fields ([set|get]+FieldName())
RenameJavaSymbol CLImageFormatImpl.image_channel_order imageChannelOrder
RenameJavaSymbol CLImageFormatImpl.image_channel_data_type imageChannelDataType


ClassJavadoc CLImageFormatImpl /**
ClassJavadoc CLImageFormatImpl  * Struct accessor for cl_image_format.
ClassJavadoc CLImageFormatImpl  * @author Michael Bien, GlueGen, et al.
ClassJavadoc CLImageFormatImpl  */

#struct cl_image_desc
RenameJavaType cl_image_desc CLImageDescImpl
StructPackage cl_image_desc com.jogamp.opencl.llb.impl
# ignore this field because it causes GlueGen to erroneously create JNI code
IgnoreField CLImageDescImpl buffer

#struct fields ([set|get]+FieldName())
RenameJavaSymbol CLImageDescImpl.image_type imageType
RenameJavaSymbol CLImageDescImpl.image_width imageWidth
RenameJavaSymbol CLImageDescImpl.image_height imageHeight
RenameJavaSymbol CLImageDescImpl.image_depth imageDepth
RenameJavaSymbol CLImageDescImpl.image_array_size imageArraySize
RenameJavaSymbol CLImageDescImpl.image_row_pitch imageRowPitch
RenameJavaSymbol CLImageDescImpl.image_slice_pitch imageSlicePitch
RenameJavaSymbol CLImageDescImpl.num_mip_levels numMipLevels
RenameJavaSymbol CLImageDescImpl.num_samples numSamples

ClassJavadoc CLImageDescImpl /**
ClassJavadoc CLImageDescImpl  * Struct accessor for cl_image_desc.
ClassJavadoc CLImageDescImpl  * @author Wade Walker, GlueGen, et al.
ClassJavadoc CLImageDescImpl  */

# Pick up on-line OpenCL doc and link it with the javadoc
TagNativeBinding true

# platform dependent extensions
Ignore .*APPLE.*
Ignore .*QCOM.*

Ignore nanf