@@ -17482,7 +17482,50 @@ double __ovld __conv intel_sub_group_shuffle_up( double prev, double cur, uint
1748217482double __ovld __conv intel_sub_group_shuffle_xor( double, uint );
1748317483#endif
1748417484
17485- #endif //cl_intel_subgroups
17485+ #if defined(cl_intel_subgroups_char) || defined(cl_intel_subgroups_short) || \
17486+ defined(cl_intel_subgroups_long)
17487+
17488+ #if defined(__opencl_c_images)
17489+ uint __ovld __conv intel_sub_group_block_read_ui(read_only image2d_t, int2);
17490+ uint2 __ovld __conv intel_sub_group_block_read_ui2(read_only image2d_t, int2);
17491+ uint4 __ovld __conv intel_sub_group_block_read_ui4(read_only image2d_t, int2);
17492+ uint8 __ovld __conv intel_sub_group_block_read_ui8(read_only image2d_t, int2);
17493+ #endif // defined(__opencl_c_images)
17494+
17495+ #if defined(__opencl_c_read_write_images)
17496+ uint __ovld __conv intel_sub_group_block_read_ui(read_write image2d_t, int2);
17497+ uint2 __ovld __conv intel_sub_group_block_read_ui2(read_write image2d_t, int2);
17498+ uint4 __ovld __conv intel_sub_group_block_read_ui4(read_write image2d_t, int2);
17499+ uint8 __ovld __conv intel_sub_group_block_read_ui8(read_write image2d_t, int2);
17500+ #endif // defined(__opencl_c_read_write_images)
17501+
17502+ uint __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
17503+ uint2 __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
17504+ uint4 __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
17505+ uint8 __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
17506+
17507+ #if defined(__opencl_c_images)
17508+ void __ovld __conv intel_sub_group_block_write_ui(read_only image2d_t, int2, uint);
17509+ void __ovld __conv intel_sub_group_block_write_ui2(read_only image2d_t, int2, uint2);
17510+ void __ovld __conv intel_sub_group_block_write_ui4(read_only image2d_t, int2, uint4);
17511+ void __ovld __conv intel_sub_group_block_write_ui8(read_only image2d_t, int2, uint8);
17512+ #endif // defined(__opencl_c_images)
17513+
17514+ #if defined(__opencl_c_read_write_images)
17515+ void __ovld __conv intel_sub_group_block_write_ui(read_write image2d_t, int2, uint);
17516+ void __ovld __conv intel_sub_group_block_write_ui2(read_write image2d_t, int2, uint2);
17517+ void __ovld __conv intel_sub_group_block_write_ui4(read_write image2d_t, int2, uint4);
17518+ void __ovld __conv intel_sub_group_block_write_ui8(read_write image2d_t, int2, uint8);
17519+ #endif // defined(__opencl_c_read_write_images)
17520+
17521+ void __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
17522+ void __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
17523+ void __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
17524+ void __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
17525+
17526+ #endif // defined(cl_intel_subgroups_char) || defined(cl_intel_subgroups_short) ||
17527+ // defined(cl_intel_subgroups_long)
17528+ #endif // cl_intel_subgroups
1748617529
1748717530#if defined(cl_intel_subgroups_short)
1748817531short __ovld __conv intel_sub_group_broadcast( short , uint sub_group_local_id );
@@ -17574,44 +17617,6 @@ ushort __ovld __conv intel_sub_group_scan_inclusive_min( ushort x );
1757417617short __ovld __conv intel_sub_group_scan_inclusive_max( short x );
1757517618ushort __ovld __conv intel_sub_group_scan_inclusive_max( ushort x );
1757617619
17577- #if defined(__opencl_c_images)
17578- uint __ovld __conv intel_sub_group_block_read_ui(read_only image2d_t, int2);
17579- uint2 __ovld __conv intel_sub_group_block_read_ui2(read_only image2d_t, int2);
17580- uint4 __ovld __conv intel_sub_group_block_read_ui4(read_only image2d_t, int2);
17581- uint8 __ovld __conv intel_sub_group_block_read_ui8(read_only image2d_t, int2);
17582- #endif // defined(__opencl_c_images)
17583-
17584- #if defined(__opencl_c_read_write_images)
17585- uint __ovld __conv intel_sub_group_block_read_ui(read_write image2d_t, int2);
17586- uint2 __ovld __conv intel_sub_group_block_read_ui2(read_write image2d_t, int2);
17587- uint4 __ovld __conv intel_sub_group_block_read_ui4(read_write image2d_t, int2);
17588- uint8 __ovld __conv intel_sub_group_block_read_ui8(read_write image2d_t, int2);
17589- #endif // defined(__opencl_c_read_write_images)
17590-
17591- uint __ovld __conv intel_sub_group_block_read_ui( const __global uint* p );
17592- uint2 __ovld __conv intel_sub_group_block_read_ui2( const __global uint* p );
17593- uint4 __ovld __conv intel_sub_group_block_read_ui4( const __global uint* p );
17594- uint8 __ovld __conv intel_sub_group_block_read_ui8( const __global uint* p );
17595-
17596- #if defined(__opencl_c_images)
17597- void __ovld __conv intel_sub_group_block_write_ui(read_only image2d_t, int2, uint);
17598- void __ovld __conv intel_sub_group_block_write_ui2(read_only image2d_t, int2, uint2);
17599- void __ovld __conv intel_sub_group_block_write_ui4(read_only image2d_t, int2, uint4);
17600- void __ovld __conv intel_sub_group_block_write_ui8(read_only image2d_t, int2, uint8);
17601- #endif //defined(__opencl_c_images)
17602-
17603- #if defined(__opencl_c_read_write_images)
17604- void __ovld __conv intel_sub_group_block_write_ui(read_write image2d_t, int2, uint);
17605- void __ovld __conv intel_sub_group_block_write_ui2(read_write image2d_t, int2, uint2);
17606- void __ovld __conv intel_sub_group_block_write_ui4(read_write image2d_t, int2, uint4);
17607- void __ovld __conv intel_sub_group_block_write_ui8(read_write image2d_t, int2, uint8);
17608- #endif // defined(__opencl_c_read_write_images)
17609-
17610- void __ovld __conv intel_sub_group_block_write_ui( __global uint* p, uint data );
17611- void __ovld __conv intel_sub_group_block_write_ui2( __global uint* p, uint2 data );
17612- void __ovld __conv intel_sub_group_block_write_ui4( __global uint* p, uint4 data );
17613- void __ovld __conv intel_sub_group_block_write_ui8( __global uint* p, uint8 data );
17614-
1761517620#if defined(__opencl_c_images)
1761617621ushort __ovld __conv intel_sub_group_block_read_us(read_only image2d_t, int2);
1761717622ushort2 __ovld __conv intel_sub_group_block_read_us2(read_only image2d_t, int2);
@@ -17657,6 +17662,185 @@ void __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, u
1765717662void __ovld __conv intel_sub_group_block_write_us16( __global ushort* p, ushort16 data );
1765817663#endif // cl_intel_subgroups_short
1765917664
17665+ #if defined(cl_intel_subgroups_char)
17666+ char __ovld __conv intel_sub_group_broadcast( char , uint sub_group_local_id );
17667+ char2 __ovld __conv intel_sub_group_broadcast( char2, uint sub_group_local_id );
17668+ char3 __ovld __conv intel_sub_group_broadcast( char3, uint sub_group_local_id );
17669+ char4 __ovld __conv intel_sub_group_broadcast( char4, uint sub_group_local_id );
17670+ char8 __ovld __conv intel_sub_group_broadcast( char8, uint sub_group_local_id );
17671+
17672+ uchar __ovld __conv intel_sub_group_broadcast( uchar , uint sub_group_local_id );
17673+ uchar2 __ovld __conv intel_sub_group_broadcast( uchar2, uint sub_group_local_id );
17674+ uchar3 __ovld __conv intel_sub_group_broadcast( uchar3, uint sub_group_local_id );
17675+ uchar4 __ovld __conv intel_sub_group_broadcast( uchar4, uint sub_group_local_id );
17676+ uchar8 __ovld __conv intel_sub_group_broadcast( uchar8, uint sub_group_local_id );
17677+
17678+ char __ovld __conv intel_sub_group_shuffle( char , uint );
17679+ char2 __ovld __conv intel_sub_group_shuffle( char2 , uint );
17680+ char3 __ovld __conv intel_sub_group_shuffle( char3 , uint );
17681+ char4 __ovld __conv intel_sub_group_shuffle( char4 , uint );
17682+ char8 __ovld __conv intel_sub_group_shuffle( char8 , uint );
17683+ char16 __ovld __conv intel_sub_group_shuffle( char16, uint);
17684+
17685+ uchar __ovld __conv intel_sub_group_shuffle( uchar , uint );
17686+ uchar2 __ovld __conv intel_sub_group_shuffle( uchar2 , uint );
17687+ uchar3 __ovld __conv intel_sub_group_shuffle( uchar3 , uint );
17688+ uchar4 __ovld __conv intel_sub_group_shuffle( uchar4 , uint );
17689+ uchar8 __ovld __conv intel_sub_group_shuffle( uchar8 , uint );
17690+ uchar16 __ovld __conv intel_sub_group_shuffle( uchar16, uint );
17691+
17692+ char __ovld __conv intel_sub_group_shuffle_down( char cur, char next, uint );
17693+ char2 __ovld __conv intel_sub_group_shuffle_down( char2 cur, char2 next, uint );
17694+ char3 __ovld __conv intel_sub_group_shuffle_down( char3 cur, char3 next, uint );
17695+ char4 __ovld __conv intel_sub_group_shuffle_down( char4 cur, char4 next, uint );
17696+ char8 __ovld __conv intel_sub_group_shuffle_down( char8 cur, char8 next, uint );
17697+ char16 __ovld __conv intel_sub_group_shuffle_down( char16 cur, char16 next, uint );
17698+
17699+ uchar __ovld __conv intel_sub_group_shuffle_down( uchar cur, uchar next, uint );
17700+ uchar2 __ovld __conv intel_sub_group_shuffle_down( uchar2 cur, uchar2 next, uint );
17701+ uchar3 __ovld __conv intel_sub_group_shuffle_down( uchar3 cur, uchar3 next, uint );
17702+ uchar4 __ovld __conv intel_sub_group_shuffle_down( uchar4 cur, uchar4 next, uint );
17703+ uchar8 __ovld __conv intel_sub_group_shuffle_down( uchar8 cur, uchar8 next, uint );
17704+ uchar16 __ovld __conv intel_sub_group_shuffle_down( uchar16 cur, uchar16 next, uint );
17705+
17706+ char __ovld __conv intel_sub_group_shuffle_up( char cur, char next, uint );
17707+ char2 __ovld __conv intel_sub_group_shuffle_up( char2 cur, char2 next, uint );
17708+ char3 __ovld __conv intel_sub_group_shuffle_up( char3 cur, char3 next, uint );
17709+ char4 __ovld __conv intel_sub_group_shuffle_up( char4 cur, char4 next, uint );
17710+ char8 __ovld __conv intel_sub_group_shuffle_up( char8 cur, char8 next, uint );
17711+ char16 __ovld __conv intel_sub_group_shuffle_up( char16 cur, char16 next, uint );
17712+
17713+ uchar __ovld __conv intel_sub_group_shuffle_up( uchar cur, uchar next, uint );
17714+ uchar2 __ovld __conv intel_sub_group_shuffle_up( uchar2 cur, uchar2 next, uint );
17715+ uchar3 __ovld __conv intel_sub_group_shuffle_up( uchar3 cur, uchar3 next, uint );
17716+ uchar4 __ovld __conv intel_sub_group_shuffle_up( uchar4 cur, uchar4 next, uint );
17717+ uchar8 __ovld __conv intel_sub_group_shuffle_up( uchar8 cur, uchar8 next, uint );
17718+ uchar16 __ovld __conv intel_sub_group_shuffle_up( uchar16 cur, uchar16 next, uint );
17719+
17720+ char __ovld __conv intel_sub_group_shuffle_xor( char , uint );
17721+ char2 __ovld __conv intel_sub_group_shuffle_xor( char2 , uint );
17722+ char3 __ovld __conv intel_sub_group_shuffle_xor( char3 , uint );
17723+ char4 __ovld __conv intel_sub_group_shuffle_xor( char4 , uint );
17724+ char8 __ovld __conv intel_sub_group_shuffle_xor( char8 , uint );
17725+ char16 __ovld __conv intel_sub_group_shuffle_xor( char16, uint );
17726+
17727+ uchar __ovld __conv intel_sub_group_shuffle_xor( uchar , uint );
17728+ uchar2 __ovld __conv intel_sub_group_shuffle_xor( uchar2 , uint );
17729+ uchar3 __ovld __conv intel_sub_group_shuffle_xor( uchar3 , uint );
17730+ uchar4 __ovld __conv intel_sub_group_shuffle_xor( uchar4 , uint );
17731+ uchar8 __ovld __conv intel_sub_group_shuffle_xor( uchar8 , uint );
17732+ uchar16 __ovld __conv intel_sub_group_shuffle_xor( uchar16, uint );
17733+
17734+ char __ovld __conv intel_sub_group_reduce_add( char x );
17735+ uchar __ovld __conv intel_sub_group_reduce_add( uchar x );
17736+ char __ovld __conv intel_sub_group_reduce_min( char x );
17737+ uchar __ovld __conv intel_sub_group_reduce_min( uchar x );
17738+ char __ovld __conv intel_sub_group_reduce_max( char x );
17739+ uchar __ovld __conv intel_sub_group_reduce_max( uchar x );
17740+
17741+ char __ovld __conv intel_sub_group_scan_exclusive_add( char x );
17742+ uchar __ovld __conv intel_sub_group_scan_exclusive_add( uchar x );
17743+ char __ovld __conv intel_sub_group_scan_exclusive_min( char x );
17744+ uchar __ovld __conv intel_sub_group_scan_exclusive_min( uchar x );
17745+ char __ovld __conv intel_sub_group_scan_exclusive_max( char x );
17746+ uchar __ovld __conv intel_sub_group_scan_exclusive_max( uchar x );
17747+
17748+ char __ovld __conv intel_sub_group_scan_inclusive_add( char x );
17749+ uchar __ovld __conv intel_sub_group_scan_inclusive_add( uchar x );
17750+ char __ovld __conv intel_sub_group_scan_inclusive_min( char x );
17751+ uchar __ovld __conv intel_sub_group_scan_inclusive_min( uchar x );
17752+ char __ovld __conv intel_sub_group_scan_inclusive_max( char x );
17753+ uchar __ovld __conv intel_sub_group_scan_inclusive_max( uchar x );
17754+
17755+ #if defined(__opencl_c_images)
17756+ uchar __ovld __conv intel_sub_group_block_read_uc(read_only image2d_t, int2);
17757+ uchar2 __ovld __conv intel_sub_group_block_read_uc2(read_only image2d_t, int2);
17758+ uchar4 __ovld __conv intel_sub_group_block_read_uc4(read_only image2d_t, int2);
17759+ uchar8 __ovld __conv intel_sub_group_block_read_uc8(read_only image2d_t, int2);
17760+ uchar16 __ovld __conv intel_sub_group_block_read_uc16(read_only image2d_t, int2);
17761+ #endif // defined(__opencl_c_images)
17762+
17763+ #if defined(__opencl_c_read_write_images)
17764+ uchar __ovld __conv intel_sub_group_block_read_uc(read_write image2d_t, int2);
17765+ uchar2 __ovld __conv intel_sub_group_block_read_uc2(read_write image2d_t, int2);
17766+ uchar4 __ovld __conv intel_sub_group_block_read_uc4(read_write image2d_t, int2);
17767+ uchar8 __ovld __conv intel_sub_group_block_read_uc8(read_write image2d_t, int2);
17768+ uchar16 __ovld __conv intel_sub_group_block_read_uc16(read_write image2d_t, int2);
17769+ #endif // defined(__opencl_c_read_write_images)
17770+
17771+ uchar __ovld __conv intel_sub_group_block_read_uc( const __global uchar* p );
17772+ uchar2 __ovld __conv intel_sub_group_block_read_uc2( const __global uchar* p );
17773+ uchar4 __ovld __conv intel_sub_group_block_read_uc4( const __global uchar* p );
17774+ uchar8 __ovld __conv intel_sub_group_block_read_uc8( const __global uchar* p );
17775+ uchar16 __ovld __conv intel_sub_group_block_read_uc16( const __global uchar* p );
17776+
17777+ #if defined(__opencl_c_images)
17778+ void __ovld __conv intel_sub_group_block_write_uc(write_only image2d_t, int2, uchar);
17779+ void __ovld __conv intel_sub_group_block_write_uc2(write_only image2d_t, int2, uchar2);
17780+ void __ovld __conv intel_sub_group_block_write_uc4(write_only image2d_t, int2, uchar4);
17781+ void __ovld __conv intel_sub_group_block_write_uc8(write_only image2d_t, int2, uchar8);
17782+ void __ovld __conv intel_sub_group_block_write_uc16(write_only image2d_t, int2, uchar16);
17783+ #endif // defined(__opencl_c_images)
17784+
17785+ #if defined(__opencl_c_read_write_images)
17786+ void __ovld __conv intel_sub_group_block_write_uc(read_write image2d_t, int2, uchar);
17787+ void __ovld __conv intel_sub_group_block_write_uc2(read_write image2d_t, int2, uchar2);
17788+ void __ovld __conv intel_sub_group_block_write_uc4(read_write image2d_t, int2, uchar4);
17789+ void __ovld __conv intel_sub_group_block_write_uc8(read_write image2d_t, int2, uchar8);
17790+ void __ovld __conv intel_sub_group_block_write_uc16(read_write image2d_t, int2, uchar16);
17791+ #endif // defined(__opencl_c_read_write_images)
17792+
17793+ void __ovld __conv intel_sub_group_block_write_uc( __global uchar* p, uchar data );
17794+ void __ovld __conv intel_sub_group_block_write_uc2( __global uchar* p, uchar2 data );
17795+ void __ovld __conv intel_sub_group_block_write_uc4( __global uchar* p, uchar4 data );
17796+ void __ovld __conv intel_sub_group_block_write_uc8( __global uchar* p, uchar8 data );
17797+ void __ovld __conv intel_sub_group_block_write_uc16( __global uchar* p, uchar16 data );
17798+ #endif // cl_intel_subgroups_char
17799+
17800+ #if defined(cl_intel_subgroups_long)
17801+ #if defined(__opencl_c_images)
17802+ ulong __ovld __conv intel_sub_group_block_read_ul(read_only image2d_t, int2);
17803+ ulong2 __ovld __conv intel_sub_group_block_read_ul2(read_only image2d_t, int2);
17804+ ulong4 __ovld __conv intel_sub_group_block_read_ul4(read_only image2d_t, int2);
17805+ ulong8 __ovld __conv intel_sub_group_block_read_ul8(read_only image2d_t, int2);
17806+ ulong16 __ovld __conv intel_sub_group_block_read_ul16(read_only image2d_t, int2);
17807+ #endif // defined(__opencl_c_images)
17808+
17809+ #if defined(__opencl_c_read_write_images)
17810+ ulong __ovld __conv intel_sub_group_block_read_ul(read_write image2d_t, int2);
17811+ ulong2 __ovld __conv intel_sub_group_block_read_ul2(read_write image2d_t, int2);
17812+ ulong4 __ovld __conv intel_sub_group_block_read_ul4(read_write image2d_t, int2);
17813+ ulong8 __ovld __conv intel_sub_group_block_read_ul8(read_write image2d_t, int2);
17814+ ulong16 __ovld __conv intel_sub_group_block_read_ul16(read_write image2d_t, int2);
17815+ #endif // defined(__opencl_c_read_write_images)
17816+
17817+ ulong __ovld __conv intel_sub_group_block_read_ul( const __global ulong* p );
17818+ ulong2 __ovld __conv intel_sub_group_block_read_ul2( const __global ulong* p );
17819+ ulong4 __ovld __conv intel_sub_group_block_read_ul4( const __global ulong* p );
17820+ ulong8 __ovld __conv intel_sub_group_block_read_ul8( const __global ulong* p );
17821+
17822+ #if defined(__opencl_c_images)
17823+ void __ovld __conv intel_sub_group_block_write_ul(write_only image2d_t, int2, ulong);
17824+ void __ovld __conv intel_sub_group_block_write_ul2(write_only image2d_t, int2, ulong2);
17825+ void __ovld __conv intel_sub_group_block_write_ul4(write_only image2d_t, int2, ulong4);
17826+ void __ovld __conv intel_sub_group_block_write_ul8(write_only image2d_t, int2, ulong8);
17827+ void __ovld __conv intel_sub_group_block_write_ul16(write_only image2d_t, int2, ulong16);
17828+ #endif // defined(__opencl_c_images)
17829+
17830+ #if defined(__opencl_c_read_write_images)
17831+ void __ovld __conv intel_sub_group_block_write_ul(read_write image2d_t, int2, ulong);
17832+ void __ovld __conv intel_sub_group_block_write_ul2(read_write image2d_t, int2, ulong2);
17833+ void __ovld __conv intel_sub_group_block_write_ul4(read_write image2d_t, int2, ulong4);
17834+ void __ovld __conv intel_sub_group_block_write_ul8(read_write image2d_t, int2, ulong8);
17835+ void __ovld __conv intel_sub_group_block_write_ul16(read_write image2d_t, int2, ulong16);
17836+ #endif // defined(__opencl_c_read_write_images)
17837+
17838+ void __ovld __conv intel_sub_group_block_write_ul( __global ulong* p, ulong data );
17839+ void __ovld __conv intel_sub_group_block_write_ul2( __global ulong* p, ulong2 data );
17840+ void __ovld __conv intel_sub_group_block_write_ul4( __global ulong* p, ulong4 data );
17841+ void __ovld __conv intel_sub_group_block_write_ul8( __global ulong* p, ulong8 data);
17842+ #endif // cl_intel_subgroups_long
17843+
1766017844#ifdef cl_intel_device_side_avc_motion_estimation
1766117845#pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
1766217846
0 commit comments