59 lines
1.4 KiB
C
59 lines
1.4 KiB
C
/* 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
|
|
|