diff --git a/clang/include/clang/Basic/OpenCLExtensions.def b/clang/include/clang/Basic/OpenCLExtensions.def index c5776d3bab43..491904445f0f 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 a9c9ece3d335..e6f3e3826079 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 3d1f9b4d9826..0bcf8be94ac7 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 ae403aa1d193..7c70664ca7c1 100644 --- a/clang/test/SemaOpenCL/extension-version.cl +++ b/clang/test/SemaOpenCL/extension-version.cl @@ -221,6 +221,18 @@ #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"