Skip to content

Commit

Permalink
Added clSetPlatformDispatchDataKHR function.
Browse files Browse the repository at this point in the history
  • Loading branch information
Kerilk committed Nov 21, 2023
1 parent 8669632 commit d05b6f6
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
11 changes: 9 additions & 2 deletions ocl_icd_loader.c
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,8 @@ static inline void _find_and_check_platforms(cl_uint num_icds) {
#ifdef CL_ICD2_TAG_KHR
clGetFunctionAddressForPlatformKHR_fn pltfn_fn_ptr =
_get_function_addr(dlh, picd->ext_fn_ptr, "clGetFunctionAddressForPlatformKHR");
clSetPlatformDispatchDataKHR_fn spltdd_fn_ptr =
_get_function_addr(dlh, picd->ext_fn_ptr, "clSetPlatformDispatchDataKHR");
#endif
for(j=0; j<num_platforms; j++) {
debug(D_LOG, "Checking platform %i", j);
Expand All @@ -514,10 +516,15 @@ static inline void _find_and_check_platforms(cl_uint num_icds) {
continue;
}

if (pltfn_fn_ptr && KHR_ICD2_HAS_TAG(p->pid))
if (KHR_ICD2_HAS_TAG(p->pid) && !spltdd_fn_ptr) {
debug(D_WARN, "Found icd 2 platform, but it is missing clSetPlatformDispatchDataKHR, skipping it");
continue;
}

if (KHR_ICD2_HAS_TAG(p->pid))
{
_populate_dispatch_table(p->pid, pltfn_fn_ptr, &p->disp_data.dispatch);
p->pid->disp_data = &p->disp_data;
spltdd_fn_ptr(p->pid, &p->disp_data);
debug(D_LOG, "Found icd 2 pltform, using loader managed dispatch");
}
#endif
Expand Down
8 changes: 8 additions & 0 deletions ocl_icd_loader.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,14 @@ clGetFunctionAddressForPlatformKHR_t(
typedef clGetFunctionAddressForPlatformKHR_t *
clGetFunctionAddressForPlatformKHR_fn;

typedef cl_int CL_API_CALL
clSetPlatformDispatchDataKHR_t(
cl_platform_id platform,
void *disp_data);

typedef clSetPlatformDispatchDataKHR_t *
clSetPlatformDispatchDataKHR_fn;

__attribute__((visibility("hidden")))
extern void _populate_dispatch_table(
cl_platform_id platform,
Expand Down

0 comments on commit d05b6f6

Please sign in to comment.