diff options
| author | Yaxun Liu <Yaxun.Liu@amd.com> | 2016-07-29 17:52:34 +0000 |
|---|---|---|
| committer | Yaxun Liu <Yaxun.Liu@amd.com> | 2016-07-29 17:52:34 +0000 |
| commit | 3f9e91286ea84de5de7b316b0b4ac43d6b911e75 (patch) | |
| tree | b1bfd7b1381671768ccaa8fa2193ad0ec7aedced | |
| parent | 3e137e3429e571e0c8fa0715f4825c83061e5923 (diff) | |
| download | bcm5719-llvm-3f9e91286ea84de5de7b316b0b4ac43d6b911e75.tar.gz bcm5719-llvm-3f9e91286ea84de5de7b316b0b4ac43d6b911e75.zip | |
[OpenCL] Add extension cl_khr_mipmap_image to clang
Adding extension cl_khr_mipmap_image to clang's OpenCL Extensions and initiated inside AMDGPU Target.
Patch by Aaron En Ye Shi.
Differential Revision: https://reviews.llvm.org/D22637
llvm-svn: 277181
| -rw-r--r-- | clang/include/clang/Basic/OpenCLExtensions.def | 1 | ||||
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 1 | ||||
| -rw-r--r-- | clang/test/Misc/amdgcn.languageOptsOpenCL.cl | 12 | ||||
| -rw-r--r-- | clang/test/SemaOpenCL/extension-version.cl | 12 |
4 files changed, 26 insertions, 0 deletions
diff --git a/clang/include/clang/Basic/OpenCLExtensions.def b/clang/include/clang/Basic/OpenCLExtensions.def index c5776d3bab4..491904445f0 100644 --- a/clang/include/clang/Basic/OpenCLExtensions.def +++ b/clang/include/clang/Basic/OpenCLExtensions.def @@ -67,6 +67,7 @@ OPENCLEXT_INTERNAL(cl_khr_spir, 120, ~0U) // OpenCL 2.0. OPENCLEXT_INTERNAL(cl_khr_egl_event, 200, ~0U) OPENCLEXT_INTERNAL(cl_khr_egl_image, 200, ~0U) +OPENCLEXT_INTERNAL(cl_khr_mipmap_image, 200, ~0U) OPENCLEXT_INTERNAL(cl_khr_srgb_image_writes, 200, ~0U) OPENCLEXT_INTERNAL(cl_khr_subgroups, 200, ~0U) OPENCLEXT_INTERNAL(cl_khr_terminate_context, 200, ~0U) diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index a9c9ece3d33..e6f3e382607 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -2126,6 +2126,7 @@ public: Opts.cl_khr_fp16 = 1; Opts.cl_khr_int64_base_atomics = 1; Opts.cl_khr_int64_extended_atomics = 1; + Opts.cl_khr_mipmap_image = 1; Opts.cl_khr_3d_image_writes = 1; } } diff --git a/clang/test/Misc/amdgcn.languageOptsOpenCL.cl b/clang/test/Misc/amdgcn.languageOptsOpenCL.cl index 3d1f9b4d982..0bcf8be94ac 100644 --- a/clang/test/Misc/amdgcn.languageOptsOpenCL.cl +++ b/clang/test/Misc/amdgcn.languageOptsOpenCL.cl @@ -181,6 +181,18 @@ #pragma OPENCL EXTENSION cl_khr_egl_image: enable // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_egl_image' - ignoring}} +#if (__OPENCL_C_VERSION__ >= 200) +#ifndef cl_khr_mipmap_image +#error "Missing cl_khr_mipmap_image define" +#endif +#else +#ifdef cl_khr_mipmap_image +#error "Incorrect cl_khr_mipmap_image define" +#endif +// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_mipmap_image' - ignoring}} +#endif +#pragma OPENCL EXTENSION cl_khr_mipmap_image: enable + #ifdef cl_khr_srgb_image_writes #error "Incorrect cl_khr_srgb_image_writes define" #endif diff --git a/clang/test/SemaOpenCL/extension-version.cl b/clang/test/SemaOpenCL/extension-version.cl index ae403aa1d19..7c70664ca7c 100644 --- a/clang/test/SemaOpenCL/extension-version.cl +++ b/clang/test/SemaOpenCL/extension-version.cl @@ -222,6 +222,18 @@ #pragma OPENCL EXTENSION cl_khr_egl_image: enable #if (__OPENCL_C_VERSION__ >= 200) +#ifndef cl_khr_mipmap_image +#error "Missing cl_khr_mipmap_image define" +#endif +#else +#ifdef cl_khr_mipmap_image +#error "Incorrect cl_khr_mipmap_image define" +#endif +// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_mipmap_image' - ignoring}} +#endif +#pragma OPENCL EXTENSION cl_khr_mipmap_image: enable + +#if (__OPENCL_C_VERSION__ >= 200) #ifndef cl_khr_srgb_image_writes #error "Missing cl_khr_srgb_image_writes define" #endif |

