]> granicus.if.org Git - clang/commitdiff
[OpenCL] Add extension cl_khr_mipmap_image to clang
authorYaxun Liu <Yaxun.Liu@amd.com>
Fri, 29 Jul 2016 17:52:34 +0000 (17:52 +0000)
committerYaxun Liu <Yaxun.Liu@amd.com>
Fri, 29 Jul 2016 17:52:34 +0000 (17:52 +0000)
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@277181 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/OpenCLExtensions.def
lib/Basic/Targets.cpp
test/Misc/amdgcn.languageOptsOpenCL.cl
test/SemaOpenCL/extension-version.cl

index c5776d3bab43f3c9102a96d6495b149493bc398c..491904445f0f87aae8c70edaf613f6e76aa9ec31 100644 (file)
@@ -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)
index a9c9ece3d335e0b46f687af0d1e922c2d0acdcb1..e6f3e3826079fe7ae157680868c95b83e7df6e5d 100644 (file)
@@ -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;
     }
   }
index 3d1f9b4d982665cb1355c8706429ba45291223c3..0bcf8be94ac75f2c84577c37ca528a3efcf33c24 100644 (file)
 #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
index ae403aa1d19356becd50083a5015a2d4141190e1..7c70664ca7c1c55e5f5837ff4b908b194d97a72c 100644 (file)
 #endif
 #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"