Skip to content

Commit b732a3c

Browse files
authored
[SYCL][Bindless] Fix incorrect mangling of bindless images builtin functions (#16135)
The mipmap builtin functions were incorrectly defined in the CUDA backend as having dX and dY argument of 4 elements when 3 is expected. This flew under the radar until a recent pull from upstream LLVM. In addition, an incorrect 'fetch_vec_size' type had been fixed when generating thunk mipmap builtins. 'mipmap_read_3D.cpp' test re-enable. Fixes #15727
1 parent b8395de commit b732a3c

File tree

2 files changed

+26
-27
lines changed

2 files changed

+26
-27
lines changed

libclc/ptx-nvidiacl/libspirv/images/image.cl

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3110,7 +3110,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_THUNK_READS_BUILTIN(uchar, 3, j8, v4j32,
31103110
COORD_INPUT_3D, COORD_PARAMS_3D,
31113111
GRAD_INPUT_3D, dXx, dXy, dXz,
31123112
dYx, dYy, dYz)
3113-
_CLC_DEFINE_MIPMAP_BINDLESS_THUNK_READS_BUILTIN(half, 1, f16, v4j32,
3113+
_CLC_DEFINE_MIPMAP_BINDLESS_THUNK_READS_BUILTIN(half, 1, f16, v4f32,
31143114
COORD_INPUT_1D, COORD_PARAMS_1D,
31153115
GRAD_INPUT_1D, dX, dY)
31163116
_CLC_DEFINE_MIPMAP_BINDLESS_THUNK_READS_BUILTIN(half, 2, f16, v4f32,
@@ -3165,7 +3165,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(int, 2, i, i32, Dv2_f, float2 coord,
31653165
COORD_PARAMS_2D, S3_S3_, 2, dX.x,
31663166
dX.y, dY.x, dY.y)
31673167
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(int, 3, i, i32, Dv3_f, float3 coord,
3168-
COORD_PARAMS_3D, S3_S3_, 4, dX.x,
3168+
COORD_PARAMS_3D, S3_S3_, 3, dX.x,
31693169
dX.y, dX.z, dY.x, dY.y, dY.z)
31703170
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(int2, 1, Dv2_i, v2i32, f, float coord,
31713171
COORD_PARAMS_1D, S3_S3_, , dX, dY)
@@ -3174,15 +3174,15 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(int2, 2, Dv2_i, v2i32, Dv2_f,
31743174
2, dX.x, dX.y, dY.x, dY.y)
31753175
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(int2, 3, Dv2_i, v2i32, Dv3_f,
31763176
float3 coord, COORD_PARAMS_3D, S4_S4_,
3177-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3177+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
31783178
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(int4, 1, Dv4_i, v4i32, f, float coord,
31793179
coord, S3_S3_, , dX, dY)
31803180
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(int4, 2, Dv4_i, v4i32, Dv2_f,
31813181
float2 coord, COORD_PARAMS_2D, S4_S4_,
31823182
2, dX.x, dX.y, dY.x, dY.y)
31833183
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(int4, 3, Dv4_i, v4i32, Dv3_f,
31843184
float3 coord, COORD_PARAMS_3D, S4_S4_,
3185-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3185+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
31863186

31873187
// UInt
31883188
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint, 1, j, j32, f, float coord,
@@ -3191,7 +3191,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint, 2, j, j32, Dv2_f, float2 coord,
31913191
COORD_PARAMS_2D, S3_S3_, 2, dX.x,
31923192
dX.y, dY.x, dY.y)
31933193
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint, 3, j, j32, Dv3_f, float3 coord,
3194-
COORD_PARAMS_3D, S3_S3_, 4, dX.x,
3194+
COORD_PARAMS_3D, S3_S3_, 3, dX.x,
31953195
dX.y, dX.z, dY.x, dY.y, dY.z)
31963196
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint2, 1, Dv2_j, v2j32, f,
31973197
float coord, COORD_PARAMS_1D, S3_S3_,
@@ -3201,7 +3201,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint2, 2, Dv2_j, v2j32, Dv2_f,
32013201
2, dX.x, dX.y, dY.x, dY.y)
32023202
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint2, 3, Dv2_j, v2j32, Dv3_f,
32033203
float3 coord, COORD_PARAMS_3D, S4_S4_,
3204-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3204+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32053205
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint4, 1, Dv4_j, v4j32, f,
32063206
float coord, COORD_PARAMS_1D, S3_S3_,
32073207
, dX, dY)
@@ -3210,7 +3210,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint4, 2, Dv4_j, v4j32, Dv2_f,
32103210
2, dX.x, dX.y, dY.x, dY.y)
32113211
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uint4, 3, Dv4_j, v4j32, Dv3_f,
32123212
float3 coord, COORD_PARAMS_3D, S4_S4_,
3213-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3213+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32143214

32153215
// Float
32163216
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float, 1, f, f32, f, float coord,
@@ -3219,7 +3219,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float, 2, f, f32, Dv2_f, float2 coord,
32193219
COORD_PARAMS_2D, S3_S3_, 2, dX.x,
32203220
dX.y, dY.x, dY.y)
32213221
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float, 3, f, f32, Dv3_f, float3 coord,
3222-
COORD_PARAMS_3D, S3_S3_, 4, dX.x,
3222+
COORD_PARAMS_3D, S3_S3_, 3, dX.x,
32233223
dX.y, dX.z, dY.x, dY.y, dY.z)
32243224
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float2, 1, Dv2_f, v2f32, f,
32253225
float coord, COORD_PARAMS_1D, S3_S3_,
@@ -3229,7 +3229,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float2, 2, Dv2_f, v2f32, S0_,
32293229
2, dX.x, dX.y, dY.x, dY.y)
32303230
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float2, 3, Dv2_f, v2f32, Dv3_f,
32313231
float3 coord, COORD_PARAMS_3D, S4_S4_,
3232-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3232+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32333233
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float4, 1, Dv4_f, v4f32, f,
32343234
float coord, COORD_PARAMS_1D, S3_S3_,
32353235
, dX, dY)
@@ -3238,7 +3238,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float4, 2, Dv4_f, v4f32, Dv2_f,
32383238
2, dX.x, dX.y, dY.x, dY.y)
32393239
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(float4, 3, Dv4_f, v4f32, Dv3_f,
32403240
float3 coord, COORD_PARAMS_3D, S4_S4_,
3241-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3241+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32423242

32433243
// Short
32443244
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short, 1, s, i16, f, float coord,
@@ -3247,7 +3247,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short, 2, s, i16, Dv2_f, float2 coord,
32473247
COORD_PARAMS_2D, S3_S3_, 2, dX.x,
32483248
dX.y, dY.x, dY.y)
32493249
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short, 3, s, i16, Dv3_f, float3 coord,
3250-
COORD_PARAMS_3D, S3_S3_, 4, dX.x,
3250+
COORD_PARAMS_3D, S3_S3_, 3, dX.x,
32513251
dX.y, dX.z, dY.x, dY.y, dY.z)
32523252
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short2, 1, Dv2_s, v2i16, f,
32533253
float coord, COORD_PARAMS_1D, S3_S3_,
@@ -3257,7 +3257,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short2, 2, Dv2_s, v2i16, Dv2_f,
32573257
2, dX.x, dX.y, dY.x, dY.y)
32583258
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short2, 3, Dv2_s, v2i16, Dv3_f,
32593259
float3 coord, COORD_PARAMS_3D, S4_S4_,
3260-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3260+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32613261
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short4, 1, Dv4_s, v4i16, f,
32623262
float coord, COORD_PARAMS_1D, S3_S3_,
32633263
, dX, dY)
@@ -3266,7 +3266,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short4, 2, Dv4_s, v4i16, Dv2_f,
32663266
2, dX.x, dX.y, dY.x, dY.y)
32673267
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(short4, 3, Dv4_s, v4i16, Dv3_f,
32683268
float3 coord, COORD_PARAMS_3D, S4_S4_,
3269-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3269+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32703270

32713271
// Unsigned Short
32723272
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort, 1, t, j16, f, float coord,
@@ -3276,7 +3276,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort, 2, t, j16, Dv2_f,
32763276
2, dX.x, dX.y, dY.x, dY.y)
32773277
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort, 3, t, j16, Dv3_f,
32783278
float3 coord, COORD_PARAMS_3D, S3_S3_,
3279-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3279+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32803280
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort2, 1, Dv2_t, v2j16, f,
32813281
float coord, COORD_PARAMS_1D, S3_S3_,
32823282
, dX, dY)
@@ -3285,7 +3285,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort2, 2, Dv2_t, v2j16, Dv2_f,
32853285
2, dX.x, dX.y, dY.x, dY.y)
32863286
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort2, 3, Dv2_t, v2j16, Dv3_f,
32873287
float3 coord, COORD_PARAMS_3D, S4_S4_,
3288-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3288+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32893289
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort4, 1, Dv4_t, v4j16, f,
32903290
float coord, COORD_PARAMS_1D, S3_S3_,
32913291
, dX, dY)
@@ -3294,7 +3294,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort4, 2, Dv4_t, v4j16, Dv2_f,
32943294
2, dX.x, dX.y, dY.x, dY.y)
32953295
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(ushort4, 3, Dv4_t, v4j16, Dv3_f,
32963296
float3 coord, COORD_PARAMS_3D, S4_S4_,
3297-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3297+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
32983298

32993299
// Char
33003300
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char, 1, a, i8, f, float coord,
@@ -3303,7 +3303,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char, 2, a, i8, Dv2_f, float2 coord,
33033303
COORD_PARAMS_2D, S3_S3_, 2, dX.x,
33043304
dX.y, dY.x, dY.y)
33053305
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char, 3, a, i8, Dv3_f, float3 coord,
3306-
COORD_PARAMS_3D, S3_S3_, 4, dX.x,
3306+
COORD_PARAMS_3D, S3_S3_, 3, dX.x,
33073307
dX.y, dX.z, dY.x, dY.y, dY.z)
33083308
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char2, 1, Dv2_a, v2i8, f, float coord,
33093309
COORD_PARAMS_1D, S3_S3_, , dX, dY)
@@ -3312,15 +3312,15 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char2, 2, Dv2_a, v2i8, Dv2_f,
33123312
2, dX.x, dX.y, dY.x, dY.y)
33133313
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char2, 3, Dv2_a, v2i8, Dv3_f,
33143314
float3 coord, COORD_PARAMS_3D, S4_S4_,
3315-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3315+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
33163316
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char4, 1, Dv4_a, v4i8, f, float coord,
33173317
COORD_PARAMS_1D, S3_S3_, , dX, dY)
33183318
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char4, 2, Dv4_a, v4i8, Dv2_f,
33193319
float2 coord, COORD_PARAMS_2D, S4_S4_,
33203320
2, dX.x, dX.y, dY.x, dY.y)
33213321
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(char4, 3, Dv4_a, v4i8, Dv3_f,
33223322
float3 coord, COORD_PARAMS_3D, S4_S4_,
3323-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3323+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
33243324

33253325
// Unsigned Char
33263326
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar, 1, h, j8, f, float coord,
@@ -3329,7 +3329,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar, 2, h, j8, Dv2_f, float2 coord,
33293329
COORD_PARAMS_2D, S3_S3_, 2, dX.x,
33303330
dX.y, dY.x, dY.y)
33313331
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar, 3, h, j8, Dv3_f, float3 coord,
3332-
COORD_PARAMS_3D, S3_S3_, 4, dX.x,
3332+
COORD_PARAMS_3D, S3_S3_, 3, dX.x,
33333333
dX.y, dX.z, dY.x, dY.y, dY.z)
33343334
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar2, 1, Dv2_h, v2j8, f,
33353335
float coord, COORD_PARAMS_1D, S3_S3_,
@@ -3339,7 +3339,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar2, 2, Dv2_h, v2j8, Dv2_f,
33393339
2, dX.x, dX.y, dY.x, dY.y)
33403340
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar2, 3, Dv2_h, v2j8, Dv3_f,
33413341
float3 coord, COORD_PARAMS_3D, S4_S4_,
3342-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3342+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
33433343
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar4, 1, Dv4_h, v4j8, f,
33443344
float coord, COORD_PARAMS_1D, S3_S3_,
33453345
, dX, dY)
@@ -3348,7 +3348,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar4, 2, Dv4_h, v4j8, Dv2_f,
33483348
2, dX.x, dX.y, dY.x, dY.y)
33493349
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(uchar4, 3, Dv4_h, v4j8, Dv3_f,
33503350
float3 coord, COORD_PARAMS_3D, S4_S4_,
3351-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3351+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
33523352

33533353
// Half
33543354
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half, 1, DF16_, f16, f, float coord,
@@ -3358,7 +3358,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half, 2, DF16_, f16, Dv2_f,
33583358
2, dX.x, dX.y, dY.x, dY.y)
33593359
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half, 3, DF16_, f16, Dv3_f,
33603360
float3 coord, COORD_PARAMS_3D, S3_S3_,
3361-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3361+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
33623362
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half2, 1, Dv2_DF16_, v2f16, f,
33633363
float coord, COORD_PARAMS_1D, S3_S3_,
33643364
, dX, dY)
@@ -3367,7 +3367,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half2, 2, Dv2_DF16_, v2f16, Dv2_f,
33673367
2, dX.x, dX.y, dY.x, dY.y)
33683368
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half2, 3, Dv2_DF16_, v2f16, Dv3_f,
33693369
float3 coord, COORD_PARAMS_3D, S4_S4_,
3370-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3370+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
33713371
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half4, 1, Dv4_DF16_, v4f16, f,
33723372
float coord, COORD_PARAMS_1D, S3_S3_,
33733373
, dX, dY)
@@ -3376,7 +3376,7 @@ _CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half4, 2, Dv4_DF16_, v4f16, Dv2_f,
33763376
2, dX.x, dX.y, dY.x, dY.y)
33773377
_CLC_DEFINE_MIPMAP_BINDLESS_READS_BUILTIN(half4, 3, Dv4_DF16_, v4f16, Dv3_f,
33783378
float3 coord, COORD_PARAMS_3D, S4_S4_,
3379-
4, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
3379+
3, dX.x, dX.y, dX.z, dY.x, dY.y, dY.z)
33803380

33813381
#undef COORD_PARAMS_1D
33823382
#undef COORD_PARAMS_2D

sycl/test-e2e/bindless_images/mipmap/mipmap_read_3D.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// REQUIRES: cuda
2-
// XFAIL: run-mode
3-
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/15727
2+
43
// RUN: %{build} -o %t.out
54
// RUN: %{run-unfiltered-devices} %t.out
65

0 commit comments

Comments
 (0)