/* Enable all extensions known to pocl, which a device supports. * This is required at the start of include/_kernel.h for prototypes, * then at kernel lib compilation phase (because _kernel.h disables * everything at the end). */ /* OpenCL 1.0-only extensions */ #if (__OPENCL_C_VERSION__ < 110) #ifdef cl_khr_global_int32_base_atomics # pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics : enable #endif #ifdef cl_khr_global_int32_extended_atomics # pragma OPENCL EXTENSION cl_khr_global_int32_extended_atomics : enable #endif #ifdef cl_khr_local_int32_base_atomics # pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics : enable #endif #ifdef cl_khr_local_int32_extended_atomics # pragma OPENCL EXTENSION cl_khr_local_int32_extended_atomics : enable #endif #ifdef cl_khr_byte_addressable_store # pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable #endif #endif /* all versions */ #ifdef cl_khr_fp16 # pragma OPENCL EXTENSION cl_khr_fp16: enable #endif #ifdef cl_khr_fp64 # pragma OPENCL EXTENSION cl_khr_fp64: enable #endif #ifdef cl_khr_int64_base_atomics # pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable #endif #ifdef cl_khr_int64_extended_atomics # pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable #endif #if (__clang_major__ > 4) #ifdef cl_khr_3d_image_writes # pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable #endif #endif