@@ -256,53 +256,55 @@ pixelf32 as_pixelf32(int4 v) { return as_float4(v); }
256
256
image, x * sizeof(pixelf##pixelf_size), y, z)); \
257
257
}
258
258
259
- _DEFINE_VEC4_CAST (int , int )
259
+ _DEFINE_VEC4_CAST (float , int )
260
+ _DEFINE_VEC4_CAST (int , float )
261
+ _DEFINE_VEC4_CAST (float , uint )
262
+ _DEFINE_VEC4_CAST (uint , float )
263
+ _DEFINE_VEC4_CAST (uint , int )
260
264
_DEFINE_VEC4_CAST (int , uint )
261
265
_DEFINE_VEC4_CAST (int , short )
262
266
_DEFINE_VEC4_CAST (int , char )
263
- _DEFINE_VEC4_CAST (int , float )
264
267
_DEFINE_VEC4_CAST (uint , ushort )
265
268
_DEFINE_VEC4_CAST (uint , uchar )
266
- _DEFINE_VEC4_CAST (short , short )
267
- _DEFINE_VEC4_CAST (short , ushort )
268
269
_DEFINE_VEC4_CAST (short , char )
269
270
_DEFINE_VEC4_CAST (short , uchar )
270
- _DEFINE_VEC4_CAST (float , int )
271
- _DEFINE_VEC4_CAST (float , uint )
272
271
_DEFINE_VEC4_CAST (float , half )
272
+ _DEFINE_VEC4_CAST (int , int )
273
+ _DEFINE_VEC4_CAST (short , ushort )
274
+ _DEFINE_VEC4_CAST (short , short )
273
275
274
276
_DEFINE_VEC4_TO_VEC2_CAST (int , int )
275
- _DEFINE_VEC4_TO_VEC2_CAST (int , uint )
277
+ _DEFINE_VEC4_TO_VEC2_CAST (uint , uint )
278
+ _DEFINE_VEC4_TO_VEC2_CAST (float , float )
279
+ _DEFINE_VEC4_TO_VEC2_CAST (short , short )
280
+ _DEFINE_VEC4_TO_VEC2_CAST (short , char )
276
281
_DEFINE_VEC4_TO_VEC2_CAST (int , short )
277
282
_DEFINE_VEC4_TO_VEC2_CAST (int , char )
278
- _DEFINE_VEC4_TO_VEC2_CAST (uint , uint )
279
283
_DEFINE_VEC4_TO_VEC2_CAST (uint , ushort )
280
284
_DEFINE_VEC4_TO_VEC2_CAST (uint , uchar )
281
- _DEFINE_VEC4_TO_VEC2_CAST (short , short )
282
- _DEFINE_VEC4_TO_VEC2_CAST (short , ushort )
283
- _DEFINE_VEC4_TO_VEC2_CAST (short , char )
284
- _DEFINE_VEC4_TO_VEC2_CAST (float , float )
285
285
_DEFINE_VEC4_TO_VEC2_CAST (float , half )
286
+ _DEFINE_VEC4_TO_VEC2_CAST (int , uint )
287
+ _DEFINE_VEC4_TO_VEC2_CAST (short , ushort )
286
288
287
- _DEFINE_VEC2_CAST (int , int )
288
289
_DEFINE_VEC2_CAST (int , float )
289
- _DEFINE_VEC2_CAST (short , short )
290
290
_DEFINE_VEC2_CAST (short , char )
291
291
_DEFINE_VEC2_CAST (short , uchar )
292
+ _DEFINE_VEC2_CAST (int , int )
293
+ _DEFINE_VEC2_CAST (short , short )
292
294
293
- _DEFINE_CAST (int , int )
294
- _DEFINE_CAST (int , uint )
295
295
_DEFINE_CAST (int , float )
296
- _DEFINE_CAST (short , short )
297
- _DEFINE_CAST (short , ushort )
298
- _DEFINE_CAST (short , char )
299
- _DEFINE_CAST (short , uchar )
300
296
_DEFINE_CAST (float , float )
301
297
_DEFINE_CAST (float2 , float2 )
302
298
_DEFINE_CAST (float4 , float4 )
303
299
_DEFINE_CAST (pixelf32 , float4 )
304
300
_DEFINE_CAST (pixelf32 , pixelf32 )
305
301
_DEFINE_CAST (float4 , pixelf32 )
302
+ _DEFINE_CAST (int , int )
303
+ _DEFINE_CAST (int , uint )
304
+ _DEFINE_CAST (short , short )
305
+ _DEFINE_CAST (short , ushort )
306
+ _DEFINE_CAST (short , char )
307
+ _DEFINE_CAST (short , uchar )
306
308
307
309
_DEFINE_PIXELF_CAST (32 , float4 , int4 )
308
310
_DEFINE_PIXELF_CAST (32 , float4 , uint4 )
@@ -2602,48 +2604,116 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half4, 3, Dv4_DF16_, v4f16, Dv4_f, flo
2602
2604
2603
2605
// ------- Image Arrays / Layered Images -------
2604
2606
2605
- // // --- THUNKS: Surface Array Reads ---
2606
- // int
2607
- int __nvvm_suld_1d_array_i32_clamp_s (long , int , int ) __asm(
2608
- "llvm.nvvm.suld.1d.array.i32.clamp" );
2609
- int __nvvm_suld_2d_array_i32_clamp_s (long , int , int , int ) __asm(
2610
- "llvm.nvvm.suld.2d.array.i32.clamp" );
2611
- int2 __nvvm_suld_1d_array_v2i32_clamp_s (long , int , int ) __asm(
2612
- "__clc_llvm_nvvm_suld_1d_array_v2i32_clamp" );
2613
- int2 __nvvm_suld_2d_array_v2i32_clamp_s (long , int , int , int ) __asm(
2614
- "__clc_llvm_nvvm_suld_2d_array_v2i32_clamp" );
2615
- int4 __nvvm_suld_1d_array_v4i32_clamp_s (long , int , int ) __asm(
2616
- "__clc_llvm_nvvm_suld_1d_array_v4i32_clamp" );
2617
- int4 __nvvm_suld_2d_array_v4i32_clamp_s (long , int , int , int ) __asm(
2618
- "__clc_llvm_nvvm_suld_2d_array_v4i32_clamp" );
2607
+ // Read/Write Intrinsic Thunks
2619
2608
2620
- // short
2621
- short __nvvm_suld_1d_array_i16_clamp_s (long , int , int ) __asm(
2622
- "llvm.nvvm.suld.1d.array.i16.clamp" );
2623
- short __nvvm_suld_2d_array_i16_clamp_s (long , int , int , int ) __asm(
2624
- "llvm.nvvm.suld.2d.array.i16.clamp" );
2625
- short2 __nvvm_suld_1d_array_v2i16_clamp_s (long , int , int ) __asm(
2626
- "__clc_llvm_nvvm_suld_1d_array_v2i16_clamp" );
2627
- short2 __nvvm_suld_2d_array_v2i16_clamp_s (long , int , int , int ) __asm(
2628
- "__clc_llvm_nvvm_suld_2d_array_v2i16_clamp" );
2629
- short4 __nvvm_suld_1d_array_v4i16_clamp_s (long , int , int ) __asm(
2630
- "__clc_llvm_nvvm_suld_1d_array_v4i16_clamp" );
2631
- short4 __nvvm_suld_2d_array_v4i16_clamp_s (long , int , int , int ) __asm(
2632
- "__clc_llvm_nvvm_suld_2d_array_v4i16_clamp" );
2633
-
2634
- // char helper -- i8 intrinsic returns i16, requires helper
2635
- short __nvvm_suld_1d_array_i8_clamp_s_helper (long , int , int ) __asm(
2636
- "llvm.nvvm.suld.1d.array.i8.clamp" );
2637
- short __nvvm_suld_2d_array_i8_clamp_s_helper (long , int , int , int ) __asm(
2638
- "llvm.nvvm.suld.2d.array.i8.clamp" );
2639
- short2 __nvvm_suld_1d_array_v2i8_clamp_s_helper (long , int , int ) __asm(
2640
- "__clc_llvm_nvvm_suld_1d_array_v2i8_clamp" );
2641
- short2 __nvvm_suld_2d_array_v2i8_clamp_s_helper (long , int , int , int ) __asm(
2642
- "__clc_llvm_nvvm_suld_2d_array_v2i8_clamp" );
2643
- short4 __nvvm_suld_1d_array_v4i8_clamp_s_helper (long , int , int ) __asm(
2644
- "__clc_llvm_nvvm_suld_1d_array_v4i8_clamp" );
2645
- short4 __nvvm_suld_2d_array_v4i8_clamp_s_helper (long , int , int , int ) __asm(
2646
- "__clc_llvm_nvvm_suld_2d_array_v4i8_clamp" );
2609
+ #define COORD_PARAMS_1D (type ) type
2610
+ #define COORD_PARAMS_2D (type ) type, type
2611
+
2612
+ // Vector of size 1 is scalar
2613
+ #define ELEM_VEC_1 (elem_t ) elem_t
2614
+ #define ELEM_VEC_2 (elem_t ) elem_t##2
2615
+ #define ELEM_VEC_4 (elem_t ) elem_t##4
2616
+
2617
+ #define VEC_SIZE_1 (elem_t , size ) elem_t##size
2618
+ #define VEC_SIZE_2 (elem_t , size ) v2##elem_t##size
2619
+ #define VEC_SIZE_4 (elem_t , size ) v4##elem_t##size
2620
+
2621
+ #define COLOR_INPUT_1_CHANNEL (elem_t ) elem_t
2622
+ #define COLOR_INPUT_2_CHANNEL (elem_t ) elem_t, elem_t
2623
+ #define COLOR_INPUT_4_CHANNEL (elem_t ) elem_t, elem_t, elem_t, elem_t
2624
+
2625
+ #define _CONCAT (x , y ) x##y
2626
+ #define CONCAT (x , y ) _CONCAT(x, y)
2627
+
2628
+ #define _STR (x ) #x
2629
+ #define STR (x ) _STR(x)
2630
+
2631
+ #define _NVVM_FUNC_UNDERSCORE (name , dim , vec_size , help , pre , post ) \
2632
+ pre##nvvm_##name##_##dim##d##_array_##vec_size##_clamp##post##help
2633
+ #define NVVM_FUNC_UNDERSCORE (a , b , c , d , e , f ) \
2634
+ _NVVM_FUNC_UNDERSCORE(a, b, c, d, e, f)
2635
+
2636
+ #define _NVVM_FUNC_PERIOD (name , dim , vec_size , help , pre , post ) \
2637
+ pre##llvm.nvvm.name.dim##d.array.vec_size.clamp##post##help
2638
+ #define NVVM_FUNC_PERIOD (a , b , c , d , e , f ) _NVVM_FUNC_PERIOD(a, b, c, d, e, f)
2639
+
2640
+ #define BINDLESS_INTRINSIC_FUNC_ND (ret_type , dimension , nvvm_elem_t_mangled , \
2641
+ vec_size , elem_t_size , separator , \
2642
+ clc_prefix , helper ) \
2643
+ ELEM_VEC_##vec_size(ret_type) CONCAT( \
2644
+ __, \
2645
+ NVVM_FUNC_UNDERSCORE( \
2646
+ suld, dimension, \
2647
+ VEC_SIZE_##vec_size(nvvm_elem_t_mangled, elem_t_size), helper, , \
2648
+ _s)( \
2649
+ long, int, \
2650
+ COORD_PARAMS_##dimension##D( \
2651
+ int))) __asm(STR(NVVM_FUNC_##separator(suld, dimension, \
2652
+ VEC_SIZE_##vec_size( \
2653
+ nvvm_elem_t_mangled, \
2654
+ elem_t_size), \
2655
+ , clc_prefix, ))); \
2656
+ void CONCAT( \
2657
+ __, \
2658
+ NVVM_FUNC_UNDERSCORE( \
2659
+ sust, dimension, \
2660
+ VEC_SIZE_##vec_size(nvvm_elem_t_mangled, elem_t_size), helper, , \
2661
+ _s)( \
2662
+ unsigned long, int, COORD_PARAMS_##dimension##D(int), \
2663
+ COLOR_INPUT_##vec_size##_CHANNEL( \
2664
+ ret_type))) __asm(STR(NVVM_FUNC_PERIOD(sust.b, dimension, \
2665
+ VEC_SIZE_##vec_size( \
2666
+ nvvm_elem_t_mangled, \
2667
+ elem_t_size), \
2668
+ , , )));
2669
+
2670
+ #define BINDLESS_INTRINSIC_FUNC_VEC_SIZE_N (ret_type , vec_size , \
2671
+ nvvm_elem_t_mangled , elem_t_size , \
2672
+ separator , clc_prefix , helper ) \
2673
+ BINDLESS_INTRINSIC_FUNC_ND(ret_type, 1, nvvm_elem_t_mangled, vec_size, \
2674
+ elem_t_size, separator, clc_prefix, helper) \
2675
+ BINDLESS_INTRINSIC_FUNC_ND(ret_type, 2, nvvm_elem_t_mangled, vec_size, \
2676
+ elem_t_size, separator, clc_prefix, helper)
2677
+
2678
+ #define BINDLESS_INTRINSIC_FUNC_ALL (ret_type , nvvm_elem_t_mangled , \
2679
+ elem_t_size , helper ) \
2680
+ BINDLESS_INTRINSIC_FUNC_VEC_SIZE_N(ret_type, 1, nvvm_elem_t_mangled, \
2681
+ elem_t_size, PERIOD, , helper) \
2682
+ BINDLESS_INTRINSIC_FUNC_VEC_SIZE_N(ret_type, 2, nvvm_elem_t_mangled, \
2683
+ elem_t_size, UNDERSCORE, __clc_llvm_, \
2684
+ helper) \
2685
+ BINDLESS_INTRINSIC_FUNC_VEC_SIZE_N(ret_type, 4, nvvm_elem_t_mangled, \
2686
+ elem_t_size, UNDERSCORE, __clc_llvm_, \
2687
+ helper)
2688
+
2689
+ BINDLESS_INTRINSIC_FUNC_ALL (int , i , 32 , )
2690
+ BINDLESS_INTRINSIC_FUNC_ALL (short , i , 16 , )
2691
+ BINDLESS_INTRINSIC_FUNC_ALL (short , i , 8 , _helper )
2692
+
2693
+ #undef COORD_PARAMS_1D
2694
+ #undef COORD_PARAMS_2D
2695
+ #undef ELEM_VEC_1
2696
+ #undef ELEM_VEC_2
2697
+ #undef ELEM_VEC_4
2698
+ #undef VEC_SIZE_1
2699
+ #undef VEC_SIZE_2
2700
+ #undef VEC_SIZE_4
2701
+ #undef COLOR_INPUT_1_CHANNEL
2702
+ #undef COLOR_INPUT_2_CHANNEL
2703
+ #undef COLOR_INPUT_4_CHANNEL
2704
+ #undef _CONCAT
2705
+ #undef CONCAT
2706
+ #undef _STR
2707
+ #undef STR
2708
+ #undef _NVVM_FUNC_PERIOD
2709
+ #undef NVVM_FUNC_PERIOD
2710
+ #undef _NVVM_FUNC_UNDERSCORE
2711
+ #undef NVVM_FUNC_UNDERSCORE
2712
+ #undef BINDLESS_INTRINSIC_FUNC_ND
2713
+ #undef BINDLESS_INTRINSIC_FUNC_VEC_SIZE_N
2714
+ #undef BINDLESS_INTRINSIC_FUNC_ALL
2715
+
2716
+ // // --- THUNKS: Surface Array Reads ---
2647
2717
2648
2718
// Macro to generate surface array fetches
2649
2719
#define _CLC_DEFINE_SURFACE_ARRAY_BINDLESS_THUNK_READS_BUILTIN ( \
@@ -2688,61 +2758,6 @@ _CLC_DEFINE_SURFACE_ARRAY_BINDLESS_THUNK_READS_BUILTIN(half4, short4, short4, v4
2688
2758
#undef _CLC_DEFINE_SURFACE_ARRAY_BINDLESS_THUNK_READS_BUILTIN
2689
2759
2690
2760
// // --- THUNKS: Surface Array Writes ---
2691
- // int
2692
- void __nvvm_sust_1d_array_v4i32_clamp_s (
2693
- unsigned long , int , int , int , int , int ,
2694
- int ) __asm("llvm.nvvm.sust.b.1d.array.v4i32.clamp" );
2695
- void __nvvm_sust_2d_array_v4i32_clamp_s (
2696
- unsigned long , int , int , int , int , int , int ,
2697
- int ) __asm("llvm.nvvm.sust.b.2d.array.v4i32.clamp" );
2698
- void __nvvm_sust_1d_array_v2i32_clamp_s (
2699
- unsigned long , int , int , int ,
2700
- int ) __asm("llvm.nvvm.sust.b.1d.array.v2i32.clamp" );
2701
- void __nvvm_sust_2d_array_v2i32_clamp_s (
2702
- unsigned long , int , int , int , int ,
2703
- int ) __asm("llvm.nvvm.sust.b.2d.array.v2i32.clamp" );
2704
- void __nvvm_sust_1d_array_i32_clamp_s (unsigned long , int , int , int ) __asm(
2705
- "llvm.nvvm.sust.b.1d.array.i32.clamp" );
2706
- void __nvvm_sust_2d_array_i32_clamp_s (unsigned long , int , int , int , int ) __asm(
2707
- "llvm.nvvm.sust.b.2d.array.i32.clamp" );
2708
-
2709
- // short
2710
- void __nvvm_sust_1d_array_v4i16_clamp_s (
2711
- unsigned long , int , int , short , short , short ,
2712
- short ) __asm("llvm.nvvm.sust.b.1d.array.v4i16.clamp" );
2713
- void __nvvm_sust_2d_array_v4i16_clamp_s (
2714
- unsigned long , int , int , int , short , short , short ,
2715
- short ) __asm("llvm.nvvm.sust.b.2d.array.v4i16.clamp" );
2716
- void __nvvm_sust_1d_array_v2i16_clamp_s (
2717
- unsigned long , int , int , short ,
2718
- short ) __asm("llvm.nvvm.sust.b.1d.array.v2i16.clamp" );
2719
- void __nvvm_sust_2d_array_v2i16_clamp_s (
2720
- unsigned long , int , int , int , short ,
2721
- short ) __asm("llvm.nvvm.sust.b.2d.array.v2i16.clamp" );
2722
- void __nvvm_sust_1d_array_i16_clamp_s (unsigned long , int , int , short ) __asm(
2723
- "llvm.nvvm.sust.b.1d.array.i16.clamp" );
2724
- void __nvvm_sust_2d_array_i16_clamp_s (
2725
- unsigned long , int , int , int ,
2726
- short ) __asm("llvm.nvvm.sust.b.2d.array.i16.clamp" );
2727
-
2728
- // char helper -- i8 intrinsic takes i16, requires helper
2729
- void __nvvm_sust_1d_array_v4i8_clamp_s_helper (
2730
- unsigned long , int , int , short , short , short ,
2731
- short ) __asm("llvm.nvvm.sust.b.1d.array.v4i8.clamp" );
2732
- void __nvvm_sust_2d_array_v4i8_clamp_s_helper (
2733
- unsigned long , int , int , int , short , short , short ,
2734
- short ) __asm("llvm.nvvm.sust.b.2d.array.v4i8.clamp" );
2735
- void __nvvm_sust_1d_array_v2i8_clamp_s_helper (
2736
- unsigned long , int , int , short ,
2737
- short ) __asm("llvm.nvvm.sust.b.1d.array.v2i8.clamp" );
2738
- void __nvvm_sust_2d_array_v2i8_clamp_s_helper (
2739
- unsigned long , int , int , int , short ,
2740
- short ) __asm("llvm.nvvm.sust.b.2d.array.v2i8.clamp" );
2741
- void __nvvm_sust_1d_array_i8_clamp_s_helper (
2742
- unsigned long , int , int , short ) __asm("llvm.nvvm.sust.b.1d.array.i8.clamp" );
2743
- void __nvvm_sust_2d_array_i8_clamp_s_helper (
2744
- unsigned long , int , int , int ,
2745
- short ) __asm("llvm.nvvm.sust.b.2d.array.i8.clamp" );
2746
2761
2747
2762
#define COLOR_INPUT_1_CHANNEL (elem_t ) elem_t a
2748
2763
#define COLOR_INPUT_2_CHANNEL (elem_t ) elem_t a , elem_t b
@@ -2842,41 +2857,40 @@ _CLC_DEFINE_SURFACE_ARRAY_BINDLESS_THUNK_WRITES_BUILTIN(half, short, v4f16, v4i1
2842
2857
#define DVEC_SIZE_2 (prefix , elem_t , postfix ) prefix ##Dv2_ ##elem_t ##postfix
2843
2858
#define DVEC_SIZE_4 (prefix , elem_t , postfix ) prefix ##Dv4_ ##elem_t ##postfix
2844
2859
2845
- #define CONCAT (x , y ) x ##y
2846
- #define CONCAT_HELP (x , y ) CONCAT (x , y )
2860
+ #define _CONCAT (x , y ) x ##y
2861
+ #define CONCAT (x , y ) _CONCAT (x , y )
2847
2862
2848
- #define NVVM_FUNC (name , dimension , vec_size_mangled ) \
2863
+ #define _NVVM_FUNC (name , dimension , vec_size_mangled ) \
2849
2864
__nvvm_ ##name ##_ ##dimension ##d_array_ ##vec_size_mangled ##_clamp_s
2850
- #define NVVM_FUNC_HELP (a , b , c ) NVVM_FUNC (a , b , c )
2865
+ #define NVVM_FUNC (a , b , c ) _NVVM_FUNC (a , b , c )
2851
2866
2852
- #define MANGLE_FUNC_IMG_HANDLE_HELP (size , name , prefix , postfix ) \
2867
+ #define MANGLE_FUNC_IMG_HANDLE_HELPER (size , name , prefix , postfix ) \
2853
2868
MANGLE_FUNC_IMG_HANDLE (size , name , prefix , postfix )
2854
2869
2855
2870
#define _CLC_DEFINE_IMAGE_ARRAY_BINDLESS_READ_BUILTIN ( \
2856
2871
elem_t , vec_size , dimension , ocl_elem_t_mangled , nvvm_elem_t_mangled , \
2857
2872
elem_t_size ) \
2858
- _CLC_DEF ELEM_VEC_ ##vec_size (elem_t ) MANGLE_FUNC_IMG_HANDLE_HELP ( \
2873
+ _CLC_DEF ELEM_VEC_ ##vec_size (elem_t ) MANGLE_FUNC_IMG_HANDLE_HELPER ( \
2859
2874
22 , __spirv_ImageArrayRead , \
2860
2875
DVEC_SIZE_ ##vec_size (I , ocl_elem_t_mangled , ), \
2861
2876
DVEC_SIZE_ ##dimension (, i , ET_T0_T1_i ))( \
2862
2877
ulong imageHandle , COORD_INPUT_ ##dimension ##D (int ), int idx ) { \
2863
- return NVVM_FUNC_HELP ( \
2864
- suld , dimension , \
2865
- VEC_SIZE_ ##vec_size (nvvm_elem_t_mangled , elem_t_size ))( \
2878
+ return NVVM_FUNC (suld , dimension , \
2879
+ VEC_SIZE_ ##vec_size (nvvm_elem_t_mangled , elem_t_size ))( \
2866
2880
imageHandle , idx , \
2867
2881
COORD_PARAMS_ ##dimension ##D (ELEM_VEC_ ##vec_size (elem_t ))); \
2868
2882
}
2869
2883
2870
2884
#define _CLC_DEFINE_IMAGE_ARRAY_BINDLESS_WRITE_BUILTIN ( \
2871
2885
elem_t , vec_size , dimension , elem_t_mangled , write_mangled , elem_t_size ) \
2872
- _CLC_DEF void MANGLE_FUNC_IMG_HANDLE_HELP ( \
2886
+ _CLC_DEF void MANGLE_FUNC_IMG_HANDLE_HELPER ( \
2873
2887
23 , __spirv_ImageArrayWrite , I , \
2874
- CONCAT_HELP (DVEC_SIZE_ ##dimension (, i, ), \
2875
- DVEC_SIZE_##vec_size(, elem_t_mangled, EvT_T0_iT1_)))( \
2888
+ CONCAT (DVEC_SIZE_ ##dimension (, i, ), \
2889
+ DVEC_SIZE_##vec_size(, elem_t_mangled, EvT_T0_iT1_)))( \
2876
2890
ulong imageHandle, COORD_INPUT_##dimension##D(int), int idx, \
2877
2891
ELEM_VEC_##vec_size(elem_t) c) { \
2878
- NVVM_FUNC_HELP (sust, dimension, \
2879
- VEC_SIZE_##vec_size(write_mangled, elem_t_size)) \
2892
+ NVVM_FUNC (sust, dimension, \
2893
+ VEC_SIZE_##vec_size(write_mangled, elem_t_size)) \
2880
2894
(imageHandle, idx, \
2881
2895
COORD_PARAMS_##dimension##D(ELEM_VEC_##vec_size(elem_t)), \
2882
2896
COLOR_PARAMS_##vec_size##_CHANNEL); \
@@ -2940,8 +2954,8 @@ _CLC_DEFINE_IMAGE_ARRAY_BINDLESS_BUILTIN_ALL(half, DF16_, f, 16)
2940
2954
#undef DVEC_SIZE_1
2941
2955
#undef DVEC_SIZE_2
2942
2956
#undef DVEC_SIZE_4
2957
+ #undef _CONCAT
2943
2958
#undef CONCAT
2944
- #undef CONCAT_HELP
2959
+ #undef _NVVM_FUNC
2945
2960
#undef NVVM_FUNC
2946
- #undef NVVM_FUNC_HELPER
2947
- #undef MANGLE_FUNC_IMG_HANDLE_HELP
2961
+ #undef MANGLE_FUNC_IMG_HANDLE_HELPER
0 commit comments