Skip to content

Commit b730fa0

Browse files
KanclerzPiotrigcbot
authored andcommitted
Add new functions from SPV_INTEL_2d_block_io extensions
Extended the SPV_INTEL_2d_block_io extension to support new functions: // type d8, block width 16, array length 1 intel_sub_group_2d_block_read_8b_1r16x1c intel_sub_group_2d_block_read_8b_2r16x1c intel_sub_group_2d_block_read_8b_4r16x1c intel_sub_group_2d_block_read_8b_8r16x1c intel_sub_group_2d_block_read_8b_16r16x1c // type d8, block width 16, array length 2 intel_sub_group_2d_block_read_8b_1r16x2c intel_sub_group_2d_block_read_8b_2r16x2c intel_sub_group_2d_block_read_8b_4r16x2c intel_sub_group_2d_block_read_8b_8r16x2c // type d8, block width 16, array length 4 intel_sub_group_2d_block_read_8b_1r16x4c intel_sub_group_2d_block_read_8b_2r16x4c intel_sub_group_2d_block_read_8b_4r16x4c // type d8, block width 64, array length 1 intel_sub_group_2d_block_read_8b_1r64x1c intel_sub_group_2d_block_read_8b_2r64x1c intel_sub_group_2d_block_read_8b_4r64x1c intel_sub_group_2d_block_read_8b_8r64x1c intel_sub_group_2d_block_read_8b_16r64x1c intel_sub_group_2d_block_read_8b_32r64x1c // type d16, block width 32, array length 1 intel_sub_group_2d_block_read_16b_1r32x1c intel_sub_group_2d_block_read_16b_2r32x1c intel_sub_group_2d_block_read_16b_4r32x1c intel_sub_group_2d_block_read_16b_8r32x1c intel_sub_group_2d_block_read_16b_16r32x1c intel_sub_group_2d_block_read_16b_32r32x1c
1 parent f7251fa commit b730fa0

File tree

3 files changed

+180
-73
lines changed

3 files changed

+180
-73
lines changed

IGC/BiFModule/Implementation/IGCBiF_Intrinsics_Lsc.cl

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -597,17 +597,51 @@ typedef ushort ushort64 __attribute__((ext_vector_type(64)));
597597
typedef uint uint32 __attribute__((ext_vector_type(32)));
598598
typedef uint uint64 __attribute__((ext_vector_type(64)));
599599

600+
uchar __builtin_IB_subgroup_block_read_cacheopts_u8_m1k16v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
601+
uchar2 __builtin_IB_subgroup_block_read_cacheopts_u8_m2k16v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
602+
uchar4 __builtin_IB_subgroup_block_read_cacheopts_u8_m4k16v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
603+
uchar8 __builtin_IB_subgroup_block_read_cacheopts_u8_m8k16v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
604+
uchar16 __builtin_IB_subgroup_block_read_cacheopts_u8_m16k16v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
600605
uchar32 __builtin_IB_subgroup_block_read_cacheopts_u8_m32k16v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
601606

607+
uchar2 __builtin_IB_subgroup_block_read_cacheopts_u8_m1k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
608+
uchar4 __builtin_IB_subgroup_block_read_cacheopts_u8_m2k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
609+
uchar8 __builtin_IB_subgroup_block_read_cacheopts_u8_m4k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
610+
uchar16 __builtin_IB_subgroup_block_read_cacheopts_u8_m8k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
602611
uchar32 __builtin_IB_subgroup_block_read_cacheopts_u8_m16k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
603612
uchar64 __builtin_IB_subgroup_block_read_cacheopts_u8_m32k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
604613

614+
uchar4 __builtin_IB_subgroup_block_read_cacheopts_u8_m1k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
615+
uchar8 __builtin_IB_subgroup_block_read_cacheopts_u8_m2k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
616+
uchar16 __builtin_IB_subgroup_block_read_cacheopts_u8_m4k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
617+
uchar32 __builtin_IB_subgroup_block_read_cacheopts_u8_m8k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
618+
uchar64 __builtin_IB_subgroup_block_read_cacheopts_u8_m16k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
619+
uchar128 __builtin_IB_subgroup_block_read_cacheopts_u8_m32k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
620+
621+
ushort __builtin_IB_subgroup_block_read_cacheopts_u8_m1k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
622+
ushort2 __builtin_IB_subgroup_block_read_cacheopts_u8_m2k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
623+
ushort4 __builtin_IB_subgroup_block_read_cacheopts_u8_m4k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
624+
ushort8 __builtin_IB_subgroup_block_read_cacheopts_u8_m8k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
625+
ushort16 __builtin_IB_subgroup_block_read_cacheopts_u8_m16k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
626+
ushort32 __builtin_IB_subgroup_block_read_cacheopts_u8_m32k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
627+
628+
uint __builtin_IB_subgroup_block_read_cacheopts_u8_m1k64v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
629+
uint2 __builtin_IB_subgroup_block_read_cacheopts_u8_m2k64v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
630+
uint4 __builtin_IB_subgroup_block_read_cacheopts_u8_m4k64v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
631+
uint8 __builtin_IB_subgroup_block_read_cacheopts_u8_m8k64v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
632+
uint16 __builtin_IB_subgroup_block_read_cacheopts_u8_m16k64v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
633+
uint32 __builtin_IB_subgroup_block_read_cacheopts_u8_m32k64v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
634+
635+
605636
ushort32 __builtin_IB_subgroup_block_read_cacheopts_u8_m16k32v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
606637
ushort64 __builtin_IB_subgroup_block_read_cacheopts_u8_m32k32v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
607638

608-
uchar32 __builtin_IB_subgroup_block_read_cacheopts_u8_m8k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
609-
uchar64 __builtin_IB_subgroup_block_read_cacheopts_u8_m16k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
610-
uchar128 __builtin_IB_subgroup_block_read_cacheopts_u8_m32k16v4(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
639+
uint __builtin_IB_subgroup_block_read_cacheopts_u16_m1k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
640+
uint2 __builtin_IB_subgroup_block_read_cacheopts_u16_m2k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
641+
uint4 __builtin_IB_subgroup_block_read_cacheopts_u16_m4k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
642+
uint8 __builtin_IB_subgroup_block_read_cacheopts_u16_m8k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
643+
uint16 __builtin_IB_subgroup_block_read_cacheopts_u16_m16k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
644+
uint32 __builtin_IB_subgroup_block_read_cacheopts_u16_m32k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
611645

612646
ushort32 __builtin_IB_subgroup_block_read_cacheopts_u16_m16k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
613647
ushort64 __builtin_IB_subgroup_block_read_cacheopts_u16_m32k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
@@ -622,12 +656,7 @@ void __builtin_IB_subgroup_block_read_prefetch_u8_m16k8v4(long baseoffset, int
622656
void __builtin_IB_subgroup_block_read_prefetch_u16_m16k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
623657
void __builtin_IB_subgroup_block_read_prefetch_u16_m32k16v2(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
624658

625-
ushort __builtin_IB_subgroup_block_read_cacheopts_u8_m1k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
626-
ushort2 __builtin_IB_subgroup_block_read_cacheopts_u8_m2k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
627-
ushort4 __builtin_IB_subgroup_block_read_cacheopts_u8_m4k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
628-
ushort8 __builtin_IB_subgroup_block_read_cacheopts_u8_m8k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
629-
ushort16 __builtin_IB_subgroup_block_read_cacheopts_u8_m16k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
630-
ushort32 __builtin_IB_subgroup_block_read_cacheopts_u8_m32k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
659+
631660

632661
void __builtin_IB_subgroup_block_read_prefetch_u8_m1k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);
633662
void __builtin_IB_subgroup_block_read_prefetch_u8_m2k32v1(long baseoffset, int width_minus_one, int height_minus_one, int pitch_minus_one, int2 coord, enum LSC_LDCC cacheOpt);

0 commit comments

Comments
 (0)