xref: /aosp_15_r20/external/OpenCL-ICD-Loader/test/driver_stub/cl_ext.c (revision 1cddb830dba8aa7c1cc1039338e56b3b9fa24952)
1*1cddb830SAndroid Build Coastguard Worker #include <string.h>
2*1cddb830SAndroid Build Coastguard Worker 
3*1cddb830SAndroid Build Coastguard Worker #define CL_USE_DEPRECATED_OPENCL_1_1_APIS
4*1cddb830SAndroid Build Coastguard Worker #include "CL/cl.h"
5*1cddb830SAndroid Build Coastguard Worker #include "CL/cl_ext.h"
6*1cddb830SAndroid Build Coastguard Worker 
7*1cddb830SAndroid Build Coastguard Worker struct driverStubextFunc_st
8*1cddb830SAndroid Build Coastguard Worker {
9*1cddb830SAndroid Build Coastguard Worker     const char *name;
10*1cddb830SAndroid Build Coastguard Worker     void *func;
11*1cddb830SAndroid Build Coastguard Worker };
12*1cddb830SAndroid Build Coastguard Worker 
13*1cddb830SAndroid Build Coastguard Worker #define EXT_FUNC(name) { #name, (void*)(intptr_t)(name) }
14*1cddb830SAndroid Build Coastguard Worker 
15*1cddb830SAndroid Build Coastguard Worker static struct driverStubextFunc_st clExtensions[] =
16*1cddb830SAndroid Build Coastguard Worker {
17*1cddb830SAndroid Build Coastguard Worker     EXT_FUNC(clIcdGetPlatformIDsKHR),
18*1cddb830SAndroid Build Coastguard Worker };
19*1cddb830SAndroid Build Coastguard Worker 
20*1cddb830SAndroid Build Coastguard Worker static const int clExtensionCount = sizeof(clExtensions) / sizeof(clExtensions[0]);
21*1cddb830SAndroid Build Coastguard Worker 
22*1cddb830SAndroid Build Coastguard Worker CL_API_ENTRY void * CL_API_CALL
clGetExtensionFunctionAddress(const char * name)23*1cddb830SAndroid Build Coastguard Worker clGetExtensionFunctionAddress(const char *name)
24*1cddb830SAndroid Build Coastguard Worker {
25*1cddb830SAndroid Build Coastguard Worker     int ii;
26*1cddb830SAndroid Build Coastguard Worker 
27*1cddb830SAndroid Build Coastguard Worker     for (ii = 0; ii < clExtensionCount; ii++) {
28*1cddb830SAndroid Build Coastguard Worker         if (!strcmp(name, clExtensions[ii].name)) {
29*1cddb830SAndroid Build Coastguard Worker             return clExtensions[ii].func;
30*1cddb830SAndroid Build Coastguard Worker         }
31*1cddb830SAndroid Build Coastguard Worker     }
32*1cddb830SAndroid Build Coastguard Worker 
33*1cddb830SAndroid Build Coastguard Worker     return NULL;
34*1cddb830SAndroid Build Coastguard Worker }
35*1cddb830SAndroid Build Coastguard Worker 
36