@@ -257,27 +257,36 @@ std::string EffectiveOptionsFilter::processOptions(const OpenCLArgList &args,
257
257
std::map<std::string, bool > extMap{
258
258
{" cl_khr_3d_image_writes" , true },
259
259
{" cl_khr_depth_images" , true },
260
- #ifdef GPU_EXT
261
260
{" cl_khr_fp16" , true },
262
- {" cl_khr_mipmap_image" , true },
263
- {" cl_khr_mipmap_image_writes" , true },
264
- {" cl_khr_subgroups" , true },
265
- {" cl_intel_device_side_avc_motion_estimation" , true },
266
- {" cl_intel_planar_yuv" , true },
267
261
#ifdef _WIN32
268
262
// cl_khr_gl_msaa_sharing is only supported on Windows [NEO].
269
263
{" cl_khr_gl_msaa_sharing" , true },
270
- #endif
271
264
#endif
272
265
{" cl_khr_global_int32_base_atomics" , true },
273
266
{" cl_khr_global_int32_extended_atomics" , true },
274
267
{" cl_khr_int64_base_atomics" , true },
275
268
{" cl_khr_int64_extended_atomics" , true },
276
269
{" cl_khr_local_int32_base_atomics" , true },
277
270
{" cl_khr_local_int32_extended_atomics" , true },
271
+ {" cl_khr_mipmap_image" , true },
272
+ {" cl_khr_mipmap_image_writes" , true },
273
+ {" cl_khr_subgroups" , true },
274
+ {" cl_intel_device_side_avc_motion_estimation" , true },
275
+ {" cl_intel_planar_yuv" , true },
278
276
{" cl_intel_subgroups" , true },
279
277
{" cl_intel_subgroups_short" , true }};
280
278
279
+ #ifdef PCH_EXTENSION
280
+ extMap.clear ();
281
+ std::string customPCHExtStr (PCH_EXTENSION);
282
+ std::stringstream sstr (customPCHExtStr);
283
+ while (sstr.good ()) {
284
+ std::string substr;
285
+ getline (sstr, substr, ' ,' );
286
+ extMap[substr] = true ;
287
+ }
288
+ #endif
289
+
281
290
auto parseClExt = [&](const std::string &clExtStr) {
282
291
llvm::StringRef clExtRef (clExtStr);
283
292
clExtRef.consume_front (" -cl-ext=" );
0 commit comments