Skip to content

Commit 11dbdf4

Browse files
committed
Use _icd2_tag fields from KhronosGroup/OpenCL-Headers#280.
1 parent f234761 commit 11dbdf4

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

loader/icd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ void khrIcdVendorAdd(const char *libraryName)
159159
KHR_ICD_TRACE("found icd 2 object, but platform is missing clIcdSetPlatformDispatchDataKHR\n");
160160
continue;
161161
}
162-
if (KHR_ICD2_HAS_TAG(platforms[i]) && !((intptr_t)((platforms[i])->dispatch->clUnloadCompiler) == CL_ICD2_TAG_KHR))
162+
if (KHR_ICD2_HAS_TAG(platforms[i]) && !KHR_ICD2_HAS_TAG2(platforms[i]))
163163
{
164164
KHR_ICD_TRACE("found icd 2 object, but platform is missing tag in clUnloadCompiler\n");
165165
continue;

loader/icd_dispatch.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,17 @@ struct KHRDisp
7373
struct _cl_icd_dispatch dispatch;
7474
};
7575

76+
#if __CL_HAS_ANON_STRUCT__
77+
#define KHR_ICD2_HAS_TAG(object) \
78+
((object)->dispatch->clGetPlatformIDs_icd2_tag == CL_ICD2_TAG_KHR)
79+
#define KHR_ICD2_HAS_TAG2(object) \
80+
((object)->dispatch->clUnloadCompiler_icd2_tag == CL_ICD2_TAG_KHR)
81+
#else
7682
#define KHR_ICD2_HAS_TAG(object) \
7783
(((intptr_t)((object)->dispatch->clGetPlatformIDs)) == CL_ICD2_TAG_KHR)
84+
#define KHR_ICD2_HAS_TAG2(object) \
85+
(((intptr_t)((object)->dispatch->clUnloadCompiler)) == CL_ICD2_TAG_KHR)
86+
#endif
7887

7988
#define KHR_ICD2_DISPATCH(object) \
8089
(KHR_ICD2_HAS_TAG(object) ? \

0 commit comments

Comments
 (0)