From a672ffe278129908e672c441903951af1e69be72 Mon Sep 17 00:00:00 2001 From: Anton Zabaznov Date: Mon, 5 Oct 2020 11:31:18 +0300 Subject: [PATCH 1/2] OpenCL C 3.0 patch update: memory_scope_all_devices is alias and available for 3.0 and newer --- patches/clang/0001-OpenCL-3.0-support.patch | 70 ++++++--------------- 1 file changed, 20 insertions(+), 50 deletions(-) diff --git a/patches/clang/0001-OpenCL-3.0-support.patch b/patches/clang/0001-OpenCL-3.0-support.patch index fdc5d626..65a950fe 100644 --- a/patches/clang/0001-OpenCL-3.0-support.patch +++ b/patches/clang/0001-OpenCL-3.0-support.patch @@ -1,4 +1,4 @@ -From 13a6dfb3c7f2badbb19cab2d9c4542cab59d9c7c Mon Sep 17 00:00:00 2001 +From c2f521834c02cd054ea20765ab3c50f8c1025439 Mon Sep 17 00:00:00 2001 From: Anton Zabaznov Date: Tue, 22 Sep 2020 19:03:50 +0300 Subject: [PATCH] OpenCL 3.0 support @@ -20,8 +20,8 @@ Subject: [PATCH] OpenCL 3.0 support clang/lib/Basic/Targets.cpp | 1 - clang/lib/CodeGen/CodeGenFunction.cpp | 6 +- clang/lib/Frontend/CompilerInvocation.cpp | 22 +- - clang/lib/Frontend/InitPreprocessor.cpp | 7 +- - clang/lib/Headers/opencl-c-base.h | 76 +- + clang/lib/Frontend/InitPreprocessor.cpp | 6 +- + clang/lib/Headers/opencl-c-base.h | 75 +- clang/lib/Headers/opencl-c.h | 3215 ++++++++++++++--- clang/lib/Parse/ParseDecl.cpp | 12 +- clang/lib/Parse/ParsePragma.cpp | 10 +- @@ -57,8 +57,7 @@ Subject: [PATCH] OpenCL 3.0 support clang/test/Frontend/stdlang.c | 1 + clang/test/Headers/opencl-c-header.cl | 7 +- clang/test/Index/pipe-size.cl | 7 + - clang/test/Preprocessor/init-aarch64.c | 13 +- - clang/test/Preprocessor/init.c | 1 + + clang/test/Preprocessor/init-aarch64.c | 12 +- clang/test/Preprocessor/predefined-macros.c | 13 + .../Sema/feature-extensions-simult-support.cl | 75 + clang/test/Sema/features-ignore-pragma.cl | 24 + @@ -73,7 +72,7 @@ Subject: [PATCH] OpenCL 3.0 support .../SemaOpenCL/invalid-pipe-builtin-cl2.0.cl | 1 + clang/test/SemaOpenCL/storageclass-cl20.cl | 1 + .../TableGen/ClangOpenCLBuiltinEmitter.cpp | 35 +- - 69 files changed, 3756 insertions(+), 738 deletions(-) + 68 files changed, 3752 insertions(+), 738 deletions(-) create mode 100644 clang/test/CodeGenOpenCL/generic-address-space-feature.cl create mode 100644 clang/test/Sema/feature-extensions-simult-support.cl create mode 100644 clang/test/Sema/features-ignore-pragma.cl @@ -786,7 +785,7 @@ index 73114c6d76c..bc54d231b97 100644 Opts.Coroutines = Opts.CPlusPlus20 || Args.hasArg(OPT_fcoroutines_ts); diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp -index 6eef1e2376f..276c47f2410 100644 +index 6eef1e2376f..5bb489c1190 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -445,6 +445,9 @@ static void InitializeStandardPredefinedMacros(const TargetInfo &TI, @@ -807,15 +806,7 @@ index 6eef1e2376f..276c47f2410 100644 if (TI.isLittleEndian()) Builder.defineMacro("__ENDIAN_LITTLE__"); -@@ -642,6 +646,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, - Builder.defineMacro("__OPENCL_MEMORY_SCOPE_DEVICE", "2"); - Builder.defineMacro("__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES", "3"); - Builder.defineMacro("__OPENCL_MEMORY_SCOPE_SUB_GROUP", "4"); -+ Builder.defineMacro("__OPENCL_MEMORY_SCOPE_ALL_DEVICES", "5"); - - // Support for #pragma redefine_extname (Sun compatibility) - Builder.defineMacro("__PRAGMA_REDEFINE_EXTNAME", "1"); -@@ -1108,7 +1113,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, +@@ -1108,7 +1112,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, // OpenCL definitions. if (LangOpts.OpenCL) { #define OPENCLEXT(Ext) \ @@ -825,10 +816,10 @@ index 6eef1e2376f..276c47f2410 100644 #include "clang/Basic/OpenCLExtensions.def" diff --git a/clang/lib/Headers/opencl-c-base.h b/clang/lib/Headers/opencl-c-base.h -index 430e07d36f6..b10c6ece744 100644 +index 430e07d36f6..afa900ab24d 100644 --- a/clang/lib/Headers/opencl-c-base.h +++ b/clang/lib/Headers/opencl-c-base.h -@@ -9,6 +9,62 @@ +@@ -9,6 +9,59 @@ #ifndef _OPENCL_BASE_H_ #define _OPENCL_BASE_H_ @@ -836,9 +827,6 @@ index 430e07d36f6..b10c6ece744 100644 +#ifndef CL_VERSION_3_0 + #define CL_VERSION_3_0 300 +#endif -+#ifndef __OPENCL_MEMORY_SCOPE_ALL_DEVICES -+ #define __OPENCL_MEMORY_SCOPE_ALL_DEVICES 5 -+#endif + +// Define features for 2.0 for header backward compatibility +#ifndef __opencl_c_int64 @@ -891,7 +879,7 @@ index 430e07d36f6..b10c6ece744 100644 // built-in scalar data types: /** -@@ -115,7 +171,12 @@ typedef half half4 __attribute__((ext_vector_type(4))); +@@ -115,7 +168,12 @@ typedef half half4 __attribute__((ext_vector_type(4))); typedef half half8 __attribute__((ext_vector_type(8))); typedef half half16 __attribute__((ext_vector_type(16))); #endif @@ -905,7 +893,7 @@ index 430e07d36f6..b10c6ece744 100644 #if __OPENCL_C_VERSION__ < CL_VERSION_1_2 #pragma OPENCL EXTENSION cl_khr_fp64 : enable #endif -@@ -281,9 +342,15 @@ typedef uint cl_mem_fence_flags; +@@ -281,9 +339,17 @@ typedef uint cl_mem_fence_flags; typedef enum memory_scope { memory_scope_work_item = __OPENCL_MEMORY_SCOPE_WORK_ITEM, memory_scope_work_group = __OPENCL_MEMORY_SCOPE_WORK_GROUP, @@ -913,16 +901,18 @@ index 430e07d36f6..b10c6ece744 100644 memory_scope_device = __OPENCL_MEMORY_SCOPE_DEVICE, +#endif +#ifdef __opencl_c_atomic_scope_all_devices -+ memory_scope_all_devices = __OPENCL_MEMORY_SCOPE_ALL_DEVICES, ++ #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0) ++ memory_scope_all_devices = __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES, ++ #endif //(__OPENCL_C_VERSION__ >= CL_VERSION_2_0) memory_scope_all_svm_devices = __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES, -#if defined(cl_intel_subgroups) || defined(cl_khr_subgroups) -+#endif ++#endif // __opencl_c_atomic_scope_all_devices +#if defined(cl_intel_subgroups) || defined(cl_khr_subgroups) || \ + defined(__opencl_c_subgroups) memory_scope_sub_group = __OPENCL_MEMORY_SCOPE_SUB_GROUP #endif } memory_scope; -@@ -301,13 +368,14 @@ typedef enum memory_scope { +@@ -301,13 +367,14 @@ typedef enum memory_scope { #define ATOMIC_FLAG_INIT 0 // enum values aligned with what clang uses in EmitAtomicExpr() @@ -7817,7 +7807,7 @@ index 94a1255f0a4..59b76051eda 100644 { int s = sizeof(test); diff --git a/clang/test/Preprocessor/init-aarch64.c b/clang/test/Preprocessor/init-aarch64.c -index df2a6128989..c0b13297a06 100644 +index df2a6128989..cbb0995b48b 100644 --- a/clang/test/Preprocessor/init-aarch64.c +++ b/clang/test/Preprocessor/init-aarch64.c @@ -109,12 +109,12 @@ @@ -7844,15 +7834,7 @@ index df2a6128989..c0b13297a06 100644 // AARCH64-NEXT: #define __INT8_FMTd__ "hhd" // AARCH64-NEXT: #define __INT8_FMTi__ "hhi" // AARCH64-NEXT: #define __INT8_MAX__ 127 -@@ -193,6 +193,7 @@ - // AARCH64-NEXT: #define __LP64__ 1 - // AARCH64-NEXT: #define __NO_INLINE__ 1 - // AARCH64-NEXT: #define __OBJC_BOOL_IS_BOOL 0 -+// AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_ALL_DEVICES 5 - // AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3 - // AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_DEVICE 2 - // AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4 -@@ -238,7 +239,7 @@ +@@ -238,7 +238,7 @@ // AARCH64-NEXT: #define __STDC_UTF_32__ 1 // AARCH64_C: #define __STDC_VERSION__ 201710L // AARCH64-NEXT: #define __STDC__ 1 @@ -7861,7 +7843,7 @@ index df2a6128989..c0b13297a06 100644 // AARCH64-NEXT: #define __UINT16_FMTX__ "hX" // AARCH64-NEXT: #define __UINT16_FMTo__ "ho" // AARCH64-NEXT: #define __UINT16_FMTu__ "hu" -@@ -259,7 +260,7 @@ +@@ -259,7 +259,7 @@ // AARCH64-NEXT: #define __UINT64_FMTx__ "lx" // AARCH64-NEXT: #define __UINT64_MAX__ 18446744073709551615UL // AARCH64-NEXT: #define __UINT64_TYPE__ long unsigned int @@ -7870,7 +7852,7 @@ index df2a6128989..c0b13297a06 100644 // AARCH64-NEXT: #define __UINT8_FMTX__ "hhX" // AARCH64-NEXT: #define __UINT8_FMTo__ "hho" // AARCH64-NEXT: #define __UINT8_FMTu__ "hhu" -@@ -329,7 +330,7 @@ +@@ -329,7 +329,7 @@ // AARCH64-NEXT: #define __UINT_LEAST8_FMTx__ "hhx" // AARCH64-NEXT: #define __UINT_LEAST8_MAX__ 255 // AARCH64-NEXT: #define __UINT_LEAST8_TYPE__ unsigned char @@ -7879,18 +7861,6 @@ index df2a6128989..c0b13297a06 100644 // AARCH64-NEXT: #define __VERSION__ "{{.*}}" // AARCH64-NEXT: #define __WCHAR_MAX__ 4294967295U // AARCH64-NEXT: #define __WCHAR_TYPE__ unsigned int -diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c -index 3cc36302aa0..158fb348026 100644 ---- a/clang/test/Preprocessor/init.c -+++ b/clang/test/Preprocessor/init.c -@@ -7545,6 +7545,7 @@ - // WEBASSEMBLY64-NEXT:#define __LP64__ 1 - // WEBASSEMBLY-NEXT:#define __NO_INLINE__ 1 - // WEBASSEMBLY-NEXT:#define __OBJC_BOOL_IS_BOOL 0 -+// WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_ALL_DEVICES 5 - // WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3 - // WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_DEVICE 2 - // WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4 diff --git a/clang/test/Preprocessor/predefined-macros.c b/clang/test/Preprocessor/predefined-macros.c index 083f0e539d8..6c80517ec4d 100644 --- a/clang/test/Preprocessor/predefined-macros.c From a8d83beffe840571894663873ffbf2021714476e Mon Sep 17 00:00:00 2001 From: Anton Zabaznov Date: Thu, 8 Oct 2020 16:53:27 +0300 Subject: [PATCH 2/2] Added missing non-explicit atomic_store for long type --- patches/clang/0001-OpenCL-3.0-support.patch | 130 ++++++++++---------- 1 file changed, 66 insertions(+), 64 deletions(-) diff --git a/patches/clang/0001-OpenCL-3.0-support.patch b/patches/clang/0001-OpenCL-3.0-support.patch index 65a950fe..8ed9c2d3 100644 --- a/patches/clang/0001-OpenCL-3.0-support.patch +++ b/patches/clang/0001-OpenCL-3.0-support.patch @@ -1,4 +1,4 @@ -From c2f521834c02cd054ea20765ab3c50f8c1025439 Mon Sep 17 00:00:00 2001 +From 0116b61334e967d152f8b81708c93e57312c0955 Mon Sep 17 00:00:00 2001 From: Anton Zabaznov Date: Tue, 22 Sep 2020 19:03:50 +0300 Subject: [PATCH] OpenCL 3.0 support @@ -22,7 +22,7 @@ Subject: [PATCH] OpenCL 3.0 support clang/lib/Frontend/CompilerInvocation.cpp | 22 +- clang/lib/Frontend/InitPreprocessor.cpp | 6 +- clang/lib/Headers/opencl-c-base.h | 75 +- - clang/lib/Headers/opencl-c.h | 3215 ++++++++++++++--- + clang/lib/Headers/opencl-c.h | 3216 ++++++++++++++--- clang/lib/Parse/ParseDecl.cpp | 12 +- clang/lib/Parse/ParsePragma.cpp | 10 +- clang/lib/Sema/OpenCLBuiltins.td | 153 +- @@ -72,7 +72,7 @@ Subject: [PATCH] OpenCL 3.0 support .../SemaOpenCL/invalid-pipe-builtin-cl2.0.cl | 1 + clang/test/SemaOpenCL/storageclass-cl20.cl | 1 + .../TableGen/ClangOpenCLBuiltinEmitter.cpp | 35 +- - 68 files changed, 3752 insertions(+), 738 deletions(-) + 68 files changed, 3754 insertions(+), 737 deletions(-) create mode 100644 clang/test/CodeGenOpenCL/generic-address-space-feature.cl create mode 100644 clang/test/Sema/feature-extensions-simult-support.cl create mode 100644 clang/test/Sema/features-ignore-pragma.cl @@ -930,7 +930,7 @@ index 430e07d36f6..afa900ab24d 100644 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) diff --git a/clang/lib/Headers/opencl-c.h b/clang/lib/Headers/opencl-c.h -index 66e18bdd47b..ed8bb4f50f8 100644 +index 66e18bdd47b..e3b94149fc0 100644 --- a/clang/lib/Headers/opencl-c.h +++ b/clang/lib/Headers/opencl-c.h @@ -35,7 +35,6 @@ @@ -3614,7 +3614,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics) // OpenCL v2.0 s6.13.11.7.5: -@@ -13489,196 +13483,2236 @@ ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong oper +@@ -13489,196 +13483,2239 @@ ulong __ovld atomic_fetch_max_explicit(volatile atomic_ulong *object, ulong oper // or/xor/and/min/max: atomic type argument can be intptr_t/uintptr_t, value type argument can be intptr_t/uintptr_t. #if defined(cl_khr_int64_base_atomics) && defined(cl_khr_int64_extended_atomics) @@ -4549,10 +4549,10 @@ index 66e18bdd47b..ed8bb4f50f8 100644 -void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order); -void __ovld atomic_store_explicit(volatile atomic_double *object, double desired, memory_order order, memory_scope scope); -#endif //cl_khr_fp64 --void __ovld atomic_store(volatile atomic_long *object, long desired); ++#endif + void __ovld atomic_store(volatile atomic_long *object, long desired); -void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order); -void __ovld atomic_store_explicit(volatile atomic_long *object, long desired, memory_order order, memory_scope scope); -+#endif void __ovld atomic_store(volatile atomic_ulong *object, ulong desired); -void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order); -void __ovld atomic_store_explicit(volatile atomic_ulong *object, ulong desired, memory_order order, memory_scope scope); @@ -4574,6 +4574,8 @@ index 66e18bdd47b..ed8bb4f50f8 100644 +void __ovld atomic_store(volatile atomic_double __local *object, + double desired); #endif ++void __ovld atomic_store(volatile atomic_long __global *object, long desired); ++void __ovld atomic_store(volatile atomic_long __local *object, long desired); +void __ovld atomic_store(volatile atomic_ulong __global *object, ulong desired); +void __ovld atomic_store(volatile atomic_ulong __local *object, ulong desired); +#endif // defined(cl_khr_int64_base_atomics) && @@ -6003,7 +6005,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) -@@ -13906,7 +15940,7 @@ float16 __ovld __cnfn shuffle(float4 x, uint16 mask); +@@ -13906,7 +15943,7 @@ float16 __ovld __cnfn shuffle(float4 x, uint16 mask); float16 __ovld __cnfn shuffle(float8 x, uint16 mask); float16 __ovld __cnfn shuffle(float16 x, uint16 mask); @@ -6012,7 +6014,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 double2 __ovld __cnfn shuffle(double2 x, ulong2 mask); double2 __ovld __cnfn shuffle(double4 x, ulong2 mask); double2 __ovld __cnfn shuffle(double8 x, ulong2 mask); -@@ -13926,7 +15960,7 @@ double16 __ovld __cnfn shuffle(double2 x, ulong16 mask); +@@ -13926,7 +15963,7 @@ double16 __ovld __cnfn shuffle(double2 x, ulong16 mask); double16 __ovld __cnfn shuffle(double4 x, ulong16 mask); double16 __ovld __cnfn shuffle(double8 x, ulong16 mask); double16 __ovld __cnfn shuffle(double16 x, ulong16 mask); @@ -6021,7 +6023,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #ifdef cl_khr_fp16 half2 __ovld __cnfn shuffle(half2 x, ushort2 mask); -@@ -14130,7 +16164,7 @@ float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask); +@@ -14130,7 +16167,7 @@ float16 __ovld __cnfn shuffle2(float4 x, float4 y, uint16 mask); float16 __ovld __cnfn shuffle2(float8 x, float8 y, uint16 mask); float16 __ovld __cnfn shuffle2(float16 x, float16 y, uint16 mask); @@ -6030,7 +6032,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 double2 __ovld __cnfn shuffle2(double2 x, double2 y, ulong2 mask); double2 __ovld __cnfn shuffle2(double4 x, double4 y, ulong2 mask); double2 __ovld __cnfn shuffle2(double8 x, double8 y, ulong2 mask); -@@ -14150,7 +16184,7 @@ double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask); +@@ -14150,7 +16187,7 @@ double16 __ovld __cnfn shuffle2(double2 x, double2 y, ulong16 mask); double16 __ovld __cnfn shuffle2(double4 x, double4 y, ulong16 mask); double16 __ovld __cnfn shuffle2(double8 x, double8 y, ulong16 mask); double16 __ovld __cnfn shuffle2(double16 x, double16 y, ulong16 mask); @@ -6039,7 +6041,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #ifdef cl_khr_fp16 half2 __ovld __cnfn shuffle2(half2 x, half2 y, ushort2 mask); -@@ -14186,6 +16220,7 @@ int printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2))) +@@ -14186,6 +16223,7 @@ int printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2))) #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable #endif //cl_khr_gl_msaa_sharing @@ -6047,7 +6049,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 /** * Use the coordinate (coord.xy) to do an element lookup in * the 2D image object specified by image. -@@ -14464,6 +16499,7 @@ half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord); +@@ -14464,6 +16502,7 @@ half4 __purefn __ovld read_imageh(read_only image1d_buffer_t image, int coord); // Image read functions for read_write images #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6055,7 +6057,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 float4 __purefn __ovld read_imagef(read_write image1d_t image, int coord); int4 __purefn __ovld read_imagei(read_write image1d_t image, int coord); uint4 __purefn __ovld read_imageui(read_write image1d_t image, int coord); -@@ -14507,6 +16543,7 @@ float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, i +@@ -14507,6 +16546,7 @@ float __purefn __ovld read_imagef(read_write image2d_array_msaa_depth_t image, i #endif //cl_khr_gl_msaa_sharing #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6063,7 +6065,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #ifdef cl_khr_mipmap_image float4 __purefn __ovld read_imagef(read_write image1d_t image, sampler_t sampler, float coord, float lod); int4 __purefn __ovld read_imagei(read_write image1d_t image, sampler_t sampler, float coord, float lod); -@@ -14557,6 +16594,7 @@ int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, +@@ -14557,6 +16597,7 @@ int4 __purefn __ovld read_imagei(read_write image3d_t image, sampler_t sampler, uint4 __purefn __ovld read_imageui(read_write image3d_t image, sampler_t sampler, float4 coord, float4 gradientX, float4 gradientY); #endif //cl_khr_mipmap_image @@ -6071,7 +6073,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) // Image read functions returning half4 type -@@ -14568,6 +16606,7 @@ half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord); +@@ -14568,6 +16609,7 @@ half4 __purefn __ovld read_imageh(read_write image1d_array_t image, int2 coord); half4 __purefn __ovld read_imageh(read_write image2d_array_t image, int4 coord); half4 __purefn __ovld read_imageh(read_write image1d_buffer_t image, int coord); #endif //cl_khr_fp16 @@ -6079,7 +6081,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) /** -@@ -14657,7 +16696,7 @@ void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, flo +@@ -14657,7 +16699,7 @@ void __ovld write_imagef(write_only image1d_array_t image_array, int2 coord, flo void __ovld write_imagei(write_only image1d_array_t image_array, int2 coord, int4 color); void __ovld write_imageui(write_only image1d_array_t image_array, int2 coord, uint4 color); @@ -6088,7 +6090,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 void __ovld write_imagef(write_only image3d_t image, int4 coord, float4 color); void __ovld write_imagei(write_only image3d_t image, int4 coord, int4 color); void __ovld write_imageui(write_only image3d_t image, int4 coord, uint4 color); -@@ -14690,7 +16729,7 @@ void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, in +@@ -14690,7 +16732,7 @@ void __ovld write_imageui(write_only image2d_array_t image_array, int4 coord, in void __ovld write_imagef(write_only image2d_depth_t image, int2 coord, int lod, float depth); void __ovld write_imagef(write_only image2d_array_depth_t image, int4 coord, int lod, float depth); @@ -6097,7 +6099,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 void __ovld write_imagef(write_only image3d_t image, int4 coord, int lod, float4 color); void __ovld write_imagei(write_only image3d_t image, int4 coord, int lod, int4 color); void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 color); -@@ -14703,7 +16742,7 @@ void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 +@@ -14703,7 +16745,7 @@ void __ovld write_imageui(write_only image3d_t image, int4 coord, int lod, uint4 #ifdef cl_khr_fp16 void __ovld write_imageh(write_only image1d_t image, int coord, half4 color); void __ovld write_imageh(write_only image2d_t image, int2 coord, half4 color); @@ -6106,7 +6108,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 void __ovld write_imageh(write_only image3d_t image, int4 coord, half4 color); #endif void __ovld write_imageh(write_only image1d_array_t image, int2 coord, half4 color); -@@ -14713,6 +16752,7 @@ void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 col +@@ -14713,6 +16755,7 @@ void __ovld write_imageh(write_only image1d_buffer_t image, int coord, half4 col // Image write functions for read_write images #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6114,7 +6116,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 void __ovld write_imagef(read_write image2d_t image, int2 coord, float4 color); void __ovld write_imagei(read_write image2d_t image, int2 coord, int4 color); void __ovld write_imageui(read_write image2d_t image, int2 coord, uint4 color); -@@ -14733,7 +16773,7 @@ void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, flo +@@ -14733,7 +16776,7 @@ void __ovld write_imagef(read_write image1d_array_t image_array, int2 coord, flo void __ovld write_imagei(read_write image1d_array_t image_array, int2 coord, int4 color); void __ovld write_imageui(read_write image1d_array_t image_array, int2 coord, uint4 color); @@ -6123,7 +6125,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 void __ovld write_imagef(read_write image3d_t image, int4 coord, float4 color); void __ovld write_imagei(read_write image3d_t image, int4 coord, int4 color); void __ovld write_imageui(read_write image3d_t image, int4 coord, uint4 color); -@@ -14765,7 +16805,7 @@ void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, in +@@ -14765,7 +16808,7 @@ void __ovld write_imageui(read_write image2d_array_t image_array, int4 coord, in void __ovld write_imagef(read_write image2d_depth_t image, int2 coord, int lod, float color); void __ovld write_imagef(read_write image2d_array_depth_t image, int4 coord, int lod, float color); @@ -6132,7 +6134,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 void __ovld write_imagef(read_write image3d_t image, int4 coord, int lod, float4 color); void __ovld write_imagei(read_write image3d_t image, int4 coord, int lod, int4 color); void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 color); -@@ -14778,13 +16818,14 @@ void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 +@@ -14778,13 +16821,14 @@ void __ovld write_imageui(read_write image3d_t image, int4 coord, int lod, uint4 #ifdef cl_khr_fp16 void __ovld write_imageh(read_write image1d_t image, int coord, half4 color); void __ovld write_imageh(read_write image2d_t image, int2 coord, half4 color); @@ -6148,7 +6150,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) // Note: In OpenCL v1.0/1.1/1.2, image argument of image query builtin functions does not have -@@ -14798,7 +16839,7 @@ void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 col +@@ -14798,7 +16842,7 @@ void __ovld write_imageh(read_write image1d_buffer_t image, int coord, half4 col int __ovld __cnfn get_image_width(read_only image1d_t image); int __ovld __cnfn get_image_width(read_only image1d_buffer_t image); int __ovld __cnfn get_image_width(read_only image2d_t image); @@ -6157,7 +6159,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_width(read_only image3d_t image); #endif int __ovld __cnfn get_image_width(read_only image1d_array_t image); -@@ -14817,7 +16858,7 @@ int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image); +@@ -14817,7 +16861,7 @@ int __ovld __cnfn get_image_width(read_only image2d_array_msaa_depth_t image); int __ovld __cnfn get_image_width(write_only image1d_t image); int __ovld __cnfn get_image_width(write_only image1d_buffer_t image); int __ovld __cnfn get_image_width(write_only image2d_t image); @@ -6166,7 +6168,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_width(write_only image3d_t image); #endif int __ovld __cnfn get_image_width(write_only image1d_array_t image); -@@ -14834,6 +16875,7 @@ int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image); +@@ -14834,6 +16878,7 @@ int __ovld __cnfn get_image_width(write_only image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6174,7 +6176,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_width(read_write image1d_t image); int __ovld __cnfn get_image_width(read_write image1d_buffer_t image); int __ovld __cnfn get_image_width(read_write image2d_t image); -@@ -14850,6 +16892,7 @@ int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image); +@@ -14850,6 +16895,7 @@ int __ovld __cnfn get_image_width(read_write image2d_msaa_depth_t image); int __ovld __cnfn get_image_width(read_write image2d_array_msaa_t image); int __ovld __cnfn get_image_width(read_write image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing @@ -6182,7 +6184,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) /** -@@ -14870,7 +16913,7 @@ int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image); +@@ -14870,7 +16916,7 @@ int __ovld __cnfn get_image_height(read_only image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing int __ovld __cnfn get_image_height(write_only image2d_t image); @@ -6191,7 +6193,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_height(write_only image3d_t image); #endif int __ovld __cnfn get_image_height(write_only image2d_array_t image); -@@ -14886,6 +16929,7 @@ int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image); +@@ -14886,6 +16932,7 @@ int __ovld __cnfn get_image_height(write_only image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6199,7 +6201,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_height(read_write image2d_t image); int __ovld __cnfn get_image_height(read_write image3d_t image); int __ovld __cnfn get_image_height(read_write image2d_array_t image); -@@ -14899,6 +16943,7 @@ int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image); +@@ -14899,6 +16946,7 @@ int __ovld __cnfn get_image_height(read_write image2d_msaa_depth_t image); int __ovld __cnfn get_image_height(read_write image2d_array_msaa_t image); int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing @@ -6207,7 +6209,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) /** -@@ -14906,12 +16951,14 @@ int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image); +@@ -14906,12 +16954,14 @@ int __ovld __cnfn get_image_height(read_write image2d_array_msaa_depth_t image); */ int __ovld __cnfn get_image_depth(read_only image3d_t image); @@ -6223,7 +6225,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) // OpenCL Extension v2.0 s9.18 - Mipmaps -@@ -14927,13 +16974,15 @@ int __ovld get_image_num_mip_levels(read_only image3d_t image); +@@ -14927,13 +16977,15 @@ int __ovld get_image_num_mip_levels(read_only image3d_t image); int __ovld get_image_num_mip_levels(write_only image1d_t image); int __ovld get_image_num_mip_levels(write_only image2d_t image); @@ -6240,7 +6242,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld get_image_num_mip_levels(read_only image1d_array_t image); int __ovld get_image_num_mip_levels(read_only image2d_array_t image); -@@ -14945,10 +16994,12 @@ int __ovld get_image_num_mip_levels(write_only image2d_array_t image); +@@ -14945,10 +16997,12 @@ int __ovld get_image_num_mip_levels(write_only image2d_array_t image); int __ovld get_image_num_mip_levels(write_only image2d_array_depth_t image); int __ovld get_image_num_mip_levels(write_only image2d_depth_t image); @@ -6253,7 +6255,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //cl_khr_mipmap_image #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) -@@ -14992,7 +17043,7 @@ int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth +@@ -14992,7 +17046,7 @@ int __ovld __cnfn get_image_channel_data_type(read_only image2d_array_msaa_depth int __ovld __cnfn get_image_channel_data_type(write_only image1d_t image); int __ovld __cnfn get_image_channel_data_type(write_only image1d_buffer_t image); int __ovld __cnfn get_image_channel_data_type(write_only image2d_t image); @@ -6262,7 +6264,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_channel_data_type(write_only image3d_t image); #endif int __ovld __cnfn get_image_channel_data_type(write_only image1d_array_t image); -@@ -15009,6 +17060,7 @@ int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_dept +@@ -15009,6 +17063,7 @@ int __ovld __cnfn get_image_channel_data_type(write_only image2d_array_msaa_dept #endif //cl_khr_gl_msaa_sharing #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6270,7 +6272,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_channel_data_type(read_write image1d_t image); int __ovld __cnfn get_image_channel_data_type(read_write image1d_buffer_t image); int __ovld __cnfn get_image_channel_data_type(read_write image2d_t image); -@@ -15025,6 +17077,7 @@ int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t im +@@ -15025,6 +17080,7 @@ int __ovld __cnfn get_image_channel_data_type(read_write image2d_msaa_depth_t im int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_t image); int __ovld __cnfn get_image_channel_data_type(read_write image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing @@ -6278,7 +6280,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) /** -@@ -15064,7 +17117,7 @@ int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t i +@@ -15064,7 +17120,7 @@ int __ovld __cnfn get_image_channel_order(read_only image2d_array_msaa_depth_t i int __ovld __cnfn get_image_channel_order(write_only image1d_t image); int __ovld __cnfn get_image_channel_order(write_only image1d_buffer_t image); int __ovld __cnfn get_image_channel_order(write_only image2d_t image); @@ -6287,7 +6289,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_channel_order(write_only image3d_t image); #endif int __ovld __cnfn get_image_channel_order(write_only image1d_array_t image); -@@ -15081,6 +17134,7 @@ int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t +@@ -15081,6 +17137,7 @@ int __ovld __cnfn get_image_channel_order(write_only image2d_array_msaa_depth_t #endif //cl_khr_gl_msaa_sharing #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6295,7 +6297,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __cnfn get_image_channel_order(read_write image1d_t image); int __ovld __cnfn get_image_channel_order(read_write image1d_buffer_t image); int __ovld __cnfn get_image_channel_order(read_write image2d_t image); -@@ -15097,6 +17151,7 @@ int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image) +@@ -15097,6 +17154,7 @@ int __ovld __cnfn get_image_channel_order(read_write image2d_msaa_depth_t image) int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_t image); int __ovld __cnfn get_image_channel_order(read_write image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing @@ -6303,7 +6305,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) /** -@@ -15131,6 +17186,7 @@ int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image); +@@ -15131,6 +17189,7 @@ int2 __ovld __cnfn get_image_dim(write_only image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6311,7 +6313,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int2 __ovld __cnfn get_image_dim(read_write image2d_t image); int2 __ovld __cnfn get_image_dim(read_write image2d_array_t image); #ifdef cl_khr_depth_images -@@ -15143,6 +17199,7 @@ int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image); +@@ -15143,6 +17202,7 @@ int2 __ovld __cnfn get_image_dim(read_write image2d_msaa_depth_t image); int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_t image); int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image); #endif //cl_khr_gl_msaa_sharing @@ -6319,7 +6321,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) /** -@@ -15152,11 +17209,13 @@ int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image); +@@ -15152,11 +17212,13 @@ int2 __ovld __cnfn get_image_dim(read_write image2d_array_msaa_depth_t image); * component and the w component is 0. */ int4 __ovld __cnfn get_image_dim(read_only image3d_t image); @@ -6334,7 +6336,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) /** -@@ -15184,6 +17243,7 @@ size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t +@@ -15184,6 +17246,7 @@ size_t __ovld __cnfn get_image_array_size(write_only image2d_array_msaa_depth_t #endif //cl_khr_gl_msaa_sharing #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6342,7 +6344,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 size_t __ovld __cnfn get_image_array_size(read_write image1d_array_t image_array); size_t __ovld __cnfn get_image_array_size(read_write image2d_array_t image_array); #ifdef cl_khr_depth_images -@@ -15193,6 +17253,7 @@ size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image +@@ -15193,6 +17256,7 @@ size_t __ovld __cnfn get_image_array_size(read_write image2d_array_depth_t image size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_t image_array); size_t __ovld __cnfn get_image_array_size(read_write image2d_array_msaa_depth_t image_array); #endif //cl_khr_gl_msaa_sharing @@ -6350,7 +6352,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) /** -@@ -15210,16 +17271,21 @@ int __ovld get_image_num_samples(write_only image2d_array_msaa_t image); +@@ -15210,16 +17274,21 @@ int __ovld get_image_num_samples(write_only image2d_array_msaa_t image); int __ovld get_image_num_samples(write_only image2d_array_msaa_depth_t image); #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) @@ -6372,7 +6374,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 int __ovld __conv work_group_all(int predicate); int __ovld __conv work_group_any(int predicate); -@@ -15243,11 +17309,11 @@ ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z); +@@ -15243,11 +17312,11 @@ ulong __ovld __conv work_group_broadcast(ulong a, size_t x, size_t y, size_t z); float __ovld __conv work_group_broadcast(float a, size_t local_id); float __ovld __conv work_group_broadcast(float a, size_t x, size_t y); float __ovld __conv work_group_broadcast(float a, size_t x, size_t y, size_t z); @@ -6386,7 +6388,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #ifdef cl_khr_fp16 half __ovld __conv work_group_reduce_add(half x); -@@ -15305,7 +17371,7 @@ float __ovld __conv work_group_scan_exclusive_max(float x); +@@ -15305,7 +17374,7 @@ float __ovld __conv work_group_scan_exclusive_max(float x); float __ovld __conv work_group_scan_inclusive_add(float x); float __ovld __conv work_group_scan_inclusive_min(float x); float __ovld __conv work_group_scan_inclusive_max(float x); @@ -6395,7 +6397,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 double __ovld __conv work_group_reduce_add(double x); double __ovld __conv work_group_reduce_min(double x); double __ovld __conv work_group_reduce_max(double x); -@@ -15315,19 +17381,18 @@ double __ovld __conv work_group_scan_exclusive_max(double x); +@@ -15315,19 +17384,18 @@ double __ovld __conv work_group_scan_exclusive_max(double x); double __ovld __conv work_group_scan_inclusive_add(double x); double __ovld __conv work_group_scan_inclusive_min(double x); double __ovld __conv work_group_scan_inclusive_max(double x); @@ -6420,7 +6422,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 ndrange_t __ovld ndrange_1D(size_t); ndrange_t __ovld ndrange_1D(size_t, size_t); ndrange_t __ovld ndrange_1D(size_t, size_t, size_t); -@@ -15355,11 +17420,13 @@ bool __ovld is_valid_event (clk_event_t event); +@@ -15355,11 +17423,13 @@ bool __ovld is_valid_event (clk_event_t event); void __ovld capture_event_profiling_info(clk_event_t, clk_profiling_info, __global void* value); queue_t __ovld get_default_queue(void); @@ -6435,7 +6437,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 // Shared Sub Group Functions uint __ovld get_sub_group_size(void); uint __ovld get_max_sub_group_size(void); -@@ -15445,7 +17512,7 @@ half __ovld __conv sub_group_scan_inclusive_min(half x); +@@ -15445,7 +17515,7 @@ half __ovld __conv sub_group_scan_inclusive_min(half x); half __ovld __conv sub_group_scan_inclusive_max(half x); #endif //cl_khr_fp16 @@ -6444,7 +6446,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 double __ovld __conv sub_group_broadcast(double x, uint sub_group_local_id); double __ovld __conv sub_group_reduce_add(double x); double __ovld __conv sub_group_reduce_min(double x); -@@ -15456,7 +17523,7 @@ double __ovld __conv sub_group_scan_exclusive_max(double x); +@@ -15456,7 +17526,7 @@ double __ovld __conv sub_group_scan_exclusive_max(double x); double __ovld __conv sub_group_scan_inclusive_add(double x); double __ovld __conv sub_group_scan_inclusive_min(double x); double __ovld __conv sub_group_scan_inclusive_max(double x); @@ -6453,7 +6455,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif //cl_khr_subgroups cl_intel_subgroups -@@ -16226,16 +18293,22 @@ uint16 __ovld __conv intel_sub_group_shuffle_xor( uint16 x, uint c ); +@@ -16226,16 +18296,22 @@ uint16 __ovld __conv intel_sub_group_shuffle_xor( uint16 x, uint c ); long __ovld __conv intel_sub_group_shuffle_xor( long x, uint c ); ulong __ovld __conv intel_sub_group_shuffle_xor( ulong x, uint c ); @@ -6476,7 +6478,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) uint __ovld __conv intel_sub_group_block_read( const __global uint* p ); -@@ -16243,16 +18316,22 @@ uint2 __ovld __conv intel_sub_group_block_read2( const __global uint* p ); +@@ -16243,16 +18319,22 @@ uint2 __ovld __conv intel_sub_group_block_read2( const __global uint* p ); uint4 __ovld __conv intel_sub_group_block_read4( const __global uint* p ); uint8 __ovld __conv intel_sub_group_block_read8( const __global uint* p ); @@ -6499,7 +6501,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) void __ovld __conv intel_sub_group_block_write( __global uint* p, uint data ); -@@ -16267,7 +18346,7 @@ half __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint c ); +@@ -16267,7 +18349,7 @@ half __ovld __conv intel_sub_group_shuffle_up( half prev, half cur, uint c ); half __ovld __conv intel_sub_group_shuffle_xor( half x, uint c ); #endif @@ -6508,7 +6510,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 double __ovld __conv intel_sub_group_shuffle( double x, uint c ); double __ovld __conv intel_sub_group_shuffle_down( double prev, double cur, uint c ); double __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint c ); -@@ -16366,16 +18445,22 @@ ushort __ovld __conv intel_sub_group_scan_inclusive_min( ushort x ); +@@ -16366,16 +18448,22 @@ ushort __ovld __conv intel_sub_group_scan_inclusive_min( ushort x ); short __ovld __conv intel_sub_group_scan_inclusive_max( short x ); ushort __ovld __conv intel_sub_group_scan_inclusive_max( ushort x ); @@ -6531,7 +6533,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) uint __ovld __conv intel_sub_group_block_read_ui( const __global uint* p ); -@@ -16383,16 +18468,22 @@ uint2 __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p +@@ -16383,16 +18471,22 @@ uint2 __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p uint4 __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p ); uint8 __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p ); @@ -6554,7 +6556,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) void __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data ); -@@ -16400,16 +18491,22 @@ void __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint +@@ -16400,16 +18494,22 @@ void __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint void __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data ); void __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data ); @@ -6577,7 +6579,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) ushort __ovld __conv intel_sub_group_block_read_us( const __global ushort* p ); -@@ -16417,16 +18514,22 @@ ushort2 __ovld __conv intel_sub_group_block_read_us2( const __global ushort* +@@ -16417,16 +18517,22 @@ ushort2 __ovld __conv intel_sub_group_block_read_us2( const __global ushort* ushort4 __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p ); ushort8 __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p ); @@ -6600,7 +6602,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0) void __ovld __conv intel_sub_group_block_write_us( __global ushort* p, ushort data ); -@@ -16545,6 +18648,7 @@ short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset( +@@ -16545,6 +18651,7 @@ short2 __ovld intel_sub_group_avc_ime_adjust_ref_offset( short2 ref_offset, ushort2 src_coord, ushort2 ref_window_size, ushort2 image_size); @@ -6608,7 +6610,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 intel_sub_group_avc_ime_result_t __ovld intel_sub_group_avc_ime_evaluate_with_single_reference( read_only image2d_t src_image, read_only image2d_t ref_image, -@@ -16585,6 +18689,7 @@ intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout( +@@ -16585,6 +18692,7 @@ intel_sub_group_avc_ime_evaluate_with_dual_reference_streaminout( read_only image2d_t bwd_ref_image, sampler_t vme_media_sampler, intel_sub_group_avc_ime_payload_t payload, intel_sub_group_avc_ime_dual_reference_streamin_t streamin_components); @@ -6616,7 +6618,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 intel_sub_group_avc_ime_single_reference_streamin_t __ovld intel_sub_group_avc_ime_get_single_reference_streamin( -@@ -16649,6 +18754,7 @@ intel_sub_group_avc_ref_payload_t __ovld +@@ -16649,6 +18757,7 @@ intel_sub_group_avc_ref_payload_t __ovld intel_sub_group_avc_ref_set_bilinear_filter_enable( intel_sub_group_avc_ref_payload_t payload); @@ -6624,7 +6626,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 intel_sub_group_avc_ref_result_t __ovld intel_sub_group_avc_ref_evaluate_with_single_reference( read_only image2d_t src_image, read_only image2d_t ref_image, -@@ -16667,6 +18773,7 @@ intel_sub_group_avc_ref_evaluate_with_multi_reference( +@@ -16667,6 +18776,7 @@ intel_sub_group_avc_ref_evaluate_with_multi_reference( read_only image2d_t src_image, uint packed_reference_ids, uchar packed_reference_field_polarities, sampler_t vme_media_sampler, intel_sub_group_avc_ref_payload_t payload); @@ -6632,7 +6634,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 // SIC built-in functions intel_sub_group_avc_sic_payload_t __ovld -@@ -16717,6 +18824,7 @@ intel_sub_group_avc_sic_set_block_based_raw_skip_sad( +@@ -16717,6 +18827,7 @@ intel_sub_group_avc_sic_set_block_based_raw_skip_sad( uchar block_based_skip_type, intel_sub_group_avc_sic_payload_t payload); @@ -6640,7 +6642,7 @@ index 66e18bdd47b..ed8bb4f50f8 100644 intel_sub_group_avc_sic_result_t __ovld intel_sub_group_avc_sic_evaluate_ipe( read_only image2d_t src_image, sampler_t vme_media_sampler, -@@ -16739,6 +18847,7 @@ intel_sub_group_avc_sic_evaluate_with_multi_reference( +@@ -16739,6 +18850,7 @@ intel_sub_group_avc_sic_evaluate_with_multi_reference( read_only image2d_t src_image, uint packed_reference_ids, uchar packed_reference_field_polarities, sampler_t vme_media_sampler, intel_sub_group_avc_sic_payload_t payload);