@@ -381,6 +381,54 @@ inline pi_result ur2piDeviceInfoValue(ur_device_info_t ParamName,
381
381
return PI_SUCCESS;
382
382
}
383
383
384
+ inline pi_result ur2piSamplerInfoValue (ur_sampler_info_t ParamName,
385
+ size_t ParamValueSizePI,
386
+ size_t *ParamValueSizeUR,
387
+ void *ParamValue) {
388
+
389
+ ConvertHelper Value (ParamValueSizePI, ParamValue, ParamValueSizeUR);
390
+ switch (ParamName) {
391
+ case UR_SAMPLER_INFO_ADDRESSING_MODE: {
392
+ auto ConvertFunc = [](ur_sampler_addressing_mode_t UrValue) {
393
+ switch (UrValue) {
394
+ case UR_SAMPLER_ADDRESSING_MODE_CLAMP:
395
+ return PI_SAMPLER_ADDRESSING_MODE_CLAMP;
396
+ case UR_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE:
397
+ return PI_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE;
398
+ case UR_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT:
399
+ return PI_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT;
400
+ case UR_SAMPLER_ADDRESSING_MODE_NONE:
401
+ return PI_SAMPLER_ADDRESSING_MODE_NONE;
402
+ case UR_SAMPLER_ADDRESSING_MODE_REPEAT:
403
+ return PI_SAMPLER_ADDRESSING_MODE_REPEAT;
404
+
405
+ default :
406
+ die (" UR_SAMPLER_ADDRESSING_MODE_TYPE: unhandled value" );
407
+ }
408
+ };
409
+ return Value
410
+ .convert <ur_sampler_addressing_mode_t , pi_sampler_addressing_mode>(
411
+ ConvertFunc);
412
+ }
413
+ case UR_SAMPLER_INFO_FILTER_MODE: {
414
+ auto ConvertFunc = [](ur_sampler_filter_mode_t UrValue) {
415
+ switch (UrValue) {
416
+ case UR_SAMPLER_FILTER_MODE_LINEAR:
417
+ return PI_SAMPLER_FILTER_MODE_LINEAR;
418
+ case UR_SAMPLER_FILTER_MODE_NEAREST:
419
+ return PI_SAMPLER_FILTER_MODE_NEAREST;
420
+ default :
421
+ die (" UR_SAMPLER_FILTER_MODE: unhandled value" );
422
+ }
423
+ };
424
+ return Value.convert <ur_sampler_filter_mode_t , pi_sampler_filter_mode>(
425
+ ConvertFunc);
426
+ }
427
+ default :
428
+ return PI_SUCCESS;
429
+ }
430
+ }
431
+
384
432
// Translate UR device info values to PI info values
385
433
inline pi_result ur2piUSMAllocInfoValue (ur_usm_alloc_info_t ParamName,
386
434
size_t ParamValueSizePI,
@@ -3821,6 +3869,7 @@ inline pi_result piSamplerGetInfo(pi_sampler Sampler, pi_sampler_info ParamName,
3821
3869
auto hSampler = reinterpret_cast <ur_sampler_handle_t >(Sampler);
3822
3870
HANDLE_ERRORS (urSamplerGetInfo (hSampler, InfoType, SizeInOut, ParamValue,
3823
3871
ParamValueSizeRet));
3872
+ ur2piSamplerInfoValue (InfoType, ParamValueSize, &ParamValueSize, ParamValue);
3824
3873
fixupInfoValueTypes (SizeInOut, ParamValueSizeRet, ParamValue);
3825
3874
3826
3875
return PI_SUCCESS;
0 commit comments