@@ -403,19 +403,8 @@ float4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(ImageSampleExplicitLod, _v4f32_img1d_ro_
403
403
404
404
float4 SPIRV_OVERLOADABLE SPIRV_BUILTIN (ImageSampleExplicitLod , _v4f32_img1d_ro_i32_i32_f32 , _Rfloat4 )(__spirv_SampledImage_1D SampledImage , int Coordinate , int ImageOperands , float Lod )
405
405
{
406
- int image_id = (int )__builtin_IB_get_image (SampledImage );
407
- int sampler_id = (int )__builtin_IB_get_sampler (SampledImage );
408
-
409
- if ((__builtin_IB_get_address_mode (sampler_id ) & 0x07 ) == CLK_ADDRESS_CLAMP_TO_EDGE )
410
- {
411
- float floatCoords = convert_float ((Coordinate ));
412
- return __builtin_IB_OCL_1d_sample_l (image_id , sampler_id , floatCoords , Lod );
413
- }
414
- else
415
- {
416
- float float_lod = SPIRV_BUILTIN (ConvertFToS , _i32_f32 , _Rint )(Lod );
417
- return __builtin_IB_OCL_1d_ld (image_id , Coordinate , float_lod );
418
- }
406
+ float floatCoords = convert_float (Coordinate );
407
+ return SPIRV_BUILTIN (ImageSampleExplicitLod , _v4f32_img1d_ro_f32_i32_f32 , _Rfloat4 )(SampledImage , floatCoords , ImageOperands , Lod );
419
408
}
420
409
421
410
uint4 OVERLOADABLE __spirv_ImageSampleExplicitLod_Ruint4 (__spirv_SampledImage_1D SampledImage , float Coordinate , int ImageOperands , float Lod )
@@ -1002,10 +991,6 @@ float4 SPIRV_OVERLOADABLE SPIRV_BUILTIN(ImageSampleExplicitLod, _v4f32_img2d_arr
1002
991
1003
992
#define DEF_SYCL_BINDLESS_SAMPLED_IMAGE_EXPLICIT_LOD_S_C_TY (DIM , COORD_DIM , RET_TYPE , LOAD_TYPE ) \
1004
993
RET_TYPE##4 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(__spirv_SampledImage_##DIM##D Image, float##COORD_DIM Coordinate, int ImageOperands, float Lod) \
1005
- { \
1006
- return convert_##RET_TYPE##4(__spirv_ImageSampleExplicitLod_R##LOAD_TYPE(Image, Coordinate, ImageOperands, Lod)); \
1007
- } \
1008
- RET_TYPE##4 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate, int ImageOperands, float Lod) \
1009
994
{ \
1010
995
return convert_##RET_TYPE##4(__spirv_ImageSampleExplicitLod_R##LOAD_TYPE(Image, Coordinate, ImageOperands, Lod)); \
1011
996
}
@@ -1041,63 +1026,31 @@ RET_TYPE##4 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(__spirv_S
1041
1026
{ \
1042
1027
return __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(Image, Coordinate, ImageOperands, DefaultLod); \
1043
1028
} \
1044
- RET_TYPE##4 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate, int ImageOperands) \
1045
- { \
1046
- return __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(Image, Coordinate, ImageOperands, DefaultLod); \
1047
- } \
1048
1029
RET_TYPE##4 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(__spirv_SampledImage_##DIM##D Image, float##COORD_DIM Coordinate) \
1049
1030
{ \
1050
1031
return __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(Image, Coordinate, DefaultImageOperands, DefaultLod); \
1051
1032
} \
1052
- RET_TYPE##4 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate) \
1053
- { \
1054
- return __spirv_ImageSampleExplicitLod_R##RET_TYPE##4(Image, Coordinate, DefaultImageOperands, DefaultLod); \
1055
- } \
1056
1033
RET_TYPE##2 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(__spirv_SampledImage_##DIM##D Image, float##COORD_DIM Coordinate, int ImageOperands, float Lod) \
1057
1034
{ \
1058
1035
return convert_##RET_TYPE##2(__spirv_ImageSampleExplicitLod_R##LOAD_TYPE(Image, Coordinate, ImageOperands, Lod).xy); \
1059
1036
} \
1060
- RET_TYPE##2 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate, int ImageOperands, float Lod) \
1061
- { \
1062
- return convert_##RET_TYPE##2(__spirv_ImageSampleExplicitLod_R##LOAD_TYPE(Image, Coordinate, ImageOperands, Lod).xy); \
1063
- } \
1064
1037
RET_TYPE##2 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(__spirv_SampledImage_##DIM##D Image, float##COORD_DIM Coordinate, int ImageOperands) \
1065
1038
{ \
1066
1039
return __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(Image, Coordinate, ImageOperands, DefaultLod); \
1067
1040
} \
1068
- RET_TYPE##2 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate, int ImageOperands) \
1069
- { \
1070
- return __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(Image, Coordinate, ImageOperands, DefaultLod); \
1071
- } \
1072
1041
RET_TYPE##2 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(__spirv_SampledImage_##DIM##D Image, float##COORD_DIM Coordinate) \
1073
1042
{ \
1074
1043
return __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(Image, Coordinate, DefaultImageOperands, DefaultLod); \
1075
1044
} \
1076
- RET_TYPE##2 OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate) \
1077
- { \
1078
- return __spirv_ImageSampleExplicitLod_R##RET_TYPE##2(Image, Coordinate, DefaultImageOperands, DefaultLod); \
1079
- } \
1080
1045
RET_TYPE OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE(__spirv_SampledImage_##DIM##D Image, float##COORD_DIM Coordinate, int ImageOperands, float Lod) \
1081
1046
{ \
1082
1047
return convert_##RET_TYPE(__spirv_ImageSampleExplicitLod_R##LOAD_TYPE(Image, Coordinate, ImageOperands, Lod).x); \
1083
1048
} \
1084
- RET_TYPE OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate, int ImageOperands, float Lod) \
1085
- { \
1086
- return convert_##RET_TYPE(__spirv_ImageSampleExplicitLod_R##LOAD_TYPE(Image, Coordinate, ImageOperands, Lod).x); \
1087
- } \
1088
1049
RET_TYPE OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE(__spirv_SampledImage_##DIM##D Image, float##COORD_DIM Coordinate, int ImageOperands) \
1089
1050
{ \
1090
1051
return __spirv_ImageSampleExplicitLod_R##RET_TYPE(Image, Coordinate, ImageOperands, DefaultLod); \
1091
1052
} \
1092
- RET_TYPE OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate, int ImageOperands) \
1093
- { \
1094
- return __spirv_ImageSampleExplicitLod_R##RET_TYPE(Image, Coordinate, ImageOperands, DefaultLod); \
1095
- } \
1096
1053
RET_TYPE OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE(__spirv_SampledImage_##DIM##D Image, float##COORD_DIM Coordinate) \
1097
- { \
1098
- return __spirv_ImageSampleExplicitLod_R##RET_TYPE(Image, Coordinate, DefaultImageOperands, DefaultLod); \
1099
- } \
1100
- RET_TYPE OVERLOADABLE __spirv_ImageSampleExplicitLod_R##RET_TYPE(__spirv_SampledImage_##DIM##D Image, int##COORD_DIM Coordinate) \
1101
1054
{ \
1102
1055
return __spirv_ImageSampleExplicitLod_R##RET_TYPE(Image, Coordinate, DefaultImageOperands, DefaultLod); \
1103
1056
}
0 commit comments