Skip to content

Commit 634ef47

Browse files
authored
Dispatch table generation. Rename to main dispatch. (#266)
1 parent ecb20fb commit 634ef47

File tree

9 files changed

+394
-586
lines changed

9 files changed

+394
-586
lines changed

loader/icd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,10 +345,10 @@ void khrIcdLayerAdd(const char *libraryName)
345345
if (khrFirstLayer) {
346346
targetDispatch = &(khrFirstLayer->dispatch);
347347
} else {
348-
targetDispatch = &khrMasterDispatch;
348+
targetDispatch = &khrMainDispatch;
349349
}
350350

351-
loaderDispatchNumEntries = sizeof(khrMasterDispatch)/sizeof(void*);
351+
loaderDispatchNumEntries = sizeof(khrMainDispatch)/sizeof(void*);
352352
result = p_clInitLayer(
353353
loaderDispatchNumEntries,
354354
targetDispatch,

loader/icd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ struct KHRLayer
130130

131131
// the global layer state
132132
extern struct KHRLayer * khrFirstLayer;
133-
extern struct _cl_icd_dispatch khrMasterDispatch;
133+
extern const struct _cl_icd_dispatch khrMainDispatch;
134134
#endif // defined(CL_ENABLE_LAYERS)
135135

136136
/*

loader/icd_dispatch_generated.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6824,7 +6824,7 @@ static cl_int CL_API_CALL clGetKernelSubGroupInfoKHR_disp(
68246824
///////////////////////////////////////////////////////////////////////////////
68256825

68266826
#if defined(CL_ENABLE_LAYERS)
6827-
struct _cl_icd_dispatch khrMasterDispatch = {
6827+
const struct _cl_icd_dispatch khrMainDispatch = {
68286828
ICD_ANON_UNION_INIT_MEMBER(&clGetPlatformIDs_disp),
68296829
&clGetPlatformInfo_disp,
68306830
&clGetDeviceIDs_disp,
@@ -7027,7 +7027,8 @@ struct _cl_icd_dispatch khrMasterDispatch = {
70277027
&clCreateBufferWithProperties_disp,
70287028
&clCreateImageWithProperties_disp,
70297029
&clSetContextDestructorCallback_disp
7030-
};
7030+
}
7031+
;
70317032
#endif // defined(CL_ENABLE_LAYERS)
70327033

70337034
#if defined(CL_ENABLE_LOADER_MANAGED_DISPATCH)

scripts/dispatch_table.mako

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
{
2+
ICD_ANON_UNION_INIT_MEMBER(&clGetPlatformIDs_${suffix}),
3+
&clGetPlatformInfo_${suffix},
4+
&clGetDeviceIDs_${suffix},
5+
&clGetDeviceInfo_${suffix},
6+
&clCreateContext_${suffix},
7+
&clCreateContextFromType_${suffix},
8+
&clRetainContext_${suffix},
9+
&clReleaseContext_${suffix},
10+
&clGetContextInfo_${suffix},
11+
&clCreateCommandQueue_${suffix},
12+
&clRetainCommandQueue_${suffix},
13+
&clReleaseCommandQueue_${suffix},
14+
&clGetCommandQueueInfo_${suffix},
15+
&clSetCommandQueueProperty_${suffix},
16+
&clCreateBuffer_${suffix},
17+
&clCreateImage2D_${suffix},
18+
&clCreateImage3D_${suffix},
19+
&clRetainMemObject_${suffix},
20+
&clReleaseMemObject_${suffix},
21+
&clGetSupportedImageFormats_${suffix},
22+
&clGetMemObjectInfo_${suffix},
23+
&clGetImageInfo_${suffix},
24+
&clCreateSampler_${suffix},
25+
&clRetainSampler_${suffix},
26+
&clReleaseSampler_${suffix},
27+
&clGetSamplerInfo_${suffix},
28+
&clCreateProgramWithSource_${suffix},
29+
&clCreateProgramWithBinary_${suffix},
30+
&clRetainProgram_${suffix},
31+
&clReleaseProgram_${suffix},
32+
&clBuildProgram_${suffix},
33+
ICD_ANON_UNION_INIT_MEMBER(&clUnloadCompiler_${suffix}),
34+
&clGetProgramInfo_${suffix},
35+
&clGetProgramBuildInfo_${suffix},
36+
&clCreateKernel_${suffix},
37+
&clCreateKernelsInProgram_${suffix},
38+
&clRetainKernel_${suffix},
39+
&clReleaseKernel_${suffix},
40+
&clSetKernelArg_${suffix},
41+
&clGetKernelInfo_${suffix},
42+
&clGetKernelWorkGroupInfo_${suffix},
43+
&clWaitForEvents_${suffix},
44+
&clGetEventInfo_${suffix},
45+
&clRetainEvent_${suffix},
46+
&clReleaseEvent_${suffix},
47+
&clGetEventProfilingInfo_${suffix},
48+
&clFlush_${suffix},
49+
&clFinish_${suffix},
50+
&clEnqueueReadBuffer_${suffix},
51+
&clEnqueueWriteBuffer_${suffix},
52+
&clEnqueueCopyBuffer_${suffix},
53+
&clEnqueueReadImage_${suffix},
54+
&clEnqueueWriteImage_${suffix},
55+
&clEnqueueCopyImage_${suffix},
56+
&clEnqueueCopyImageToBuffer_${suffix},
57+
&clEnqueueCopyBufferToImage_${suffix},
58+
&clEnqueueMapBuffer_${suffix},
59+
&clEnqueueMapImage_${suffix},
60+
&clEnqueueUnmapMemObject_${suffix},
61+
&clEnqueueNDRangeKernel_${suffix},
62+
&clEnqueueTask_${suffix},
63+
&clEnqueueNativeKernel_${suffix},
64+
&clEnqueueMarker_${suffix},
65+
&clEnqueueWaitForEvents_${suffix},
66+
&clEnqueueBarrier_${suffix},
67+
&clGetExtensionFunctionAddress_${suffix},
68+
&clCreateFromGLBuffer_${suffix},
69+
&clCreateFromGLTexture2D_${suffix},
70+
&clCreateFromGLTexture3D_${suffix},
71+
&clCreateFromGLRenderbuffer_${suffix},
72+
&clGetGLObjectInfo_${suffix},
73+
&clGetGLTextureInfo_${suffix},
74+
&clEnqueueAcquireGLObjects_${suffix},
75+
&clEnqueueReleaseGLObjects_${suffix},
76+
&clGetGLContextInfoKHR_${suffix},
77+
78+
/* cl_khr_d3d10_sharing */
79+
#if defined(_WIN32)
80+
&clGetDeviceIDsFromD3D10KHR_${suffix},
81+
&clCreateFromD3D10BufferKHR_${suffix},
82+
&clCreateFromD3D10Texture2DKHR_${suffix},
83+
&clCreateFromD3D10Texture3DKHR_${suffix},
84+
&clEnqueueAcquireD3D10ObjectsKHR_${suffix},
85+
&clEnqueueReleaseD3D10ObjectsKHR_${suffix},
86+
#else
87+
NULL,
88+
NULL,
89+
NULL,
90+
NULL,
91+
NULL,
92+
NULL,
93+
#endif
94+
95+
/* OpenCL 1.1 */
96+
&clSetEventCallback_${suffix},
97+
&clCreateSubBuffer_${suffix},
98+
&clSetMemObjectDestructorCallback_${suffix},
99+
&clCreateUserEvent_${suffix},
100+
&clSetUserEventStatus_${suffix},
101+
&clEnqueueReadBufferRect_${suffix},
102+
&clEnqueueWriteBufferRect_${suffix},
103+
&clEnqueueCopyBufferRect_${suffix},
104+
105+
/* cl_ext_device_fission */
106+
&clCreateSubDevicesEXT_${suffix},
107+
&clRetainDeviceEXT_${suffix},
108+
&clReleaseDeviceEXT_${suffix},
109+
110+
/* cl_khr_gl_event */
111+
&clCreateEventFromGLsyncKHR_${suffix},
112+
113+
/* OpenCL 1.2 */
114+
&clCreateSubDevices_${suffix},
115+
&clRetainDevice_${suffix},
116+
&clReleaseDevice_${suffix},
117+
&clCreateImage_${suffix},
118+
&clCreateProgramWithBuiltInKernels_${suffix},
119+
&clCompileProgram_${suffix},
120+
&clLinkProgram_${suffix},
121+
&clUnloadPlatformCompiler_${suffix},
122+
&clGetKernelArgInfo_${suffix},
123+
&clEnqueueFillBuffer_${suffix},
124+
&clEnqueueFillImage_${suffix},
125+
&clEnqueueMigrateMemObjects_${suffix},
126+
&clEnqueueMarkerWithWaitList_${suffix},
127+
&clEnqueueBarrierWithWaitList_${suffix},
128+
&clGetExtensionFunctionAddressForPlatform_${suffix},
129+
&clCreateFromGLTexture_${suffix},
130+
131+
/* cl_khr_d3d11_sharing */
132+
#if defined(_WIN32)
133+
&clGetDeviceIDsFromD3D11KHR_${suffix},
134+
&clCreateFromD3D11BufferKHR_${suffix},
135+
&clCreateFromD3D11Texture2DKHR_${suffix},
136+
&clCreateFromD3D11Texture3DKHR_${suffix},
137+
&clCreateFromDX9MediaSurfaceKHR_${suffix},
138+
&clEnqueueAcquireD3D11ObjectsKHR_${suffix},
139+
&clEnqueueReleaseD3D11ObjectsKHR_${suffix},
140+
#else
141+
NULL,
142+
NULL,
143+
NULL,
144+
NULL,
145+
NULL,
146+
NULL,
147+
NULL,
148+
#endif
149+
150+
/* cl_khr_dx9_media_sharing */
151+
#if defined(_WIN32)
152+
&clGetDeviceIDsFromDX9MediaAdapterKHR_${suffix},
153+
&clEnqueueAcquireDX9MediaSurfacesKHR_${suffix},
154+
&clEnqueueReleaseDX9MediaSurfacesKHR_${suffix},
155+
#else
156+
NULL,
157+
NULL,
158+
NULL,
159+
#endif
160+
161+
/* cl_khr_egl_image */
162+
&clCreateFromEGLImageKHR_${suffix},
163+
&clEnqueueAcquireEGLObjectsKHR_${suffix},
164+
&clEnqueueReleaseEGLObjectsKHR_${suffix},
165+
166+
/* cl_khr_egl_event */
167+
&clCreateEventFromEGLSyncKHR_${suffix},
168+
169+
/* OpenCL 2.0 */
170+
&clCreateCommandQueueWithProperties_${suffix},
171+
&clCreatePipe_${suffix},
172+
&clGetPipeInfo_${suffix},
173+
&clSVMAlloc_${suffix},
174+
&clSVMFree_${suffix},
175+
&clEnqueueSVMFree_${suffix},
176+
&clEnqueueSVMMemcpy_${suffix},
177+
&clEnqueueSVMMemFill_${suffix},
178+
&clEnqueueSVMMap_${suffix},
179+
&clEnqueueSVMUnmap_${suffix},
180+
&clCreateSamplerWithProperties_${suffix},
181+
&clSetKernelArgSVMPointer_${suffix},
182+
&clSetKernelExecInfo_${suffix},
183+
184+
/* cl_khr_sub_groups */
185+
&clGetKernelSubGroupInfoKHR_${suffix},
186+
187+
/* OpenCL 2.1 */
188+
&clCloneKernel_${suffix},
189+
&clCreateProgramWithIL_${suffix},
190+
&clEnqueueSVMMigrateMem_${suffix},
191+
&clGetDeviceAndHostTimer_${suffix},
192+
&clGetHostTimer_${suffix},
193+
&clGetKernelSubGroupInfo_${suffix},
194+
&clSetDefaultDeviceCommandQueue_${suffix},
195+
196+
/* OpenCL 2.2 */
197+
&clSetProgramReleaseCallback_${suffix},
198+
&clSetProgramSpecializationConstant_${suffix},
199+
200+
/* OpenCL 3.0 */
201+
&clCreateBufferWithProperties_${suffix},
202+
&clCreateImageWithProperties_${suffix},
203+
&clSetContextDestructorCallback_${suffix}
204+
}

0 commit comments

Comments
 (0)