|
8 | 8 | // |
9 | 9 | //===----------------------------------------------------------------------===// |
10 | 10 |
|
| 11 | +#include "adapter.hpp" |
11 | 12 | #include "common.hpp" |
12 | 13 | #include "context.hpp" |
13 | 14 | #include "device.hpp" |
@@ -392,50 +393,17 @@ UR_APIEXPORT ur_result_t UR_APICALL urProgramSetSpecializationConstants( |
392 | 393 | sizeof(cl_platform_id), &CurPlatform, |
393 | 394 | nullptr)); |
394 | 395 |
|
395 | | - oclv::OpenCLVersion PlatVer; |
396 | | - cl_adapter::getPlatformVersion(CurPlatform, PlatVer); |
397 | | - |
398 | | - bool UseExtensionLookup = false; |
399 | | - if (PlatVer < oclv::V2_2) { |
400 | | - UseExtensionLookup = true; |
401 | | - } else { |
402 | | - for (cl_device_id Dev : *DevicesInCtx) { |
403 | | - oclv::OpenCLVersion DevVer; |
404 | | - |
405 | | - UR_RETURN_ON_FAILURE(cl_adapter::getDeviceVersion(Dev, DevVer)); |
406 | | - |
407 | | - if (DevVer < oclv::V2_2) { |
408 | | - UseExtensionLookup = true; |
409 | | - break; |
410 | | - } |
411 | | - } |
412 | | - } |
413 | | - |
414 | | - if (UseExtensionLookup == false) { |
| 396 | + if (ur::cl::getAdapter()->clSetProgramSpecializationConstant) { |
415 | 397 | for (uint32_t i = 0; i < count; ++i) { |
416 | | - CL_RETURN_ON_FAILURE(clSetProgramSpecializationConstant( |
417 | | - CLProg, pSpecConstants[i].id, pSpecConstants[i].size, |
418 | | - pSpecConstants[i].pValue)); |
| 398 | + CL_RETURN_ON_FAILURE( |
| 399 | + ur::cl::getAdapter()->clSetProgramSpecializationConstant( |
| 400 | + CLProg, pSpecConstants[i].id, pSpecConstants[i].size, |
| 401 | + pSpecConstants[i].pValue)); |
419 | 402 | } |
420 | 403 | } else { |
421 | | - cl_ext::clSetProgramSpecializationConstant_fn |
422 | | - SetProgramSpecializationConstant = nullptr; |
423 | | - const ur_result_t URResult = cl_ext::getExtFuncFromContext< |
424 | | - decltype(SetProgramSpecializationConstant)>( |
425 | | - Ctx, cl_ext::ExtFuncPtrCache->clSetProgramSpecializationConstantCache, |
426 | | - cl_ext::SetProgramSpecializationConstantName, |
427 | | - &SetProgramSpecializationConstant); |
428 | | - |
429 | | - if (URResult != UR_RESULT_SUCCESS) { |
430 | | - return URResult; |
431 | | - } |
432 | | - |
433 | | - for (uint32_t i = 0; i < count; ++i) { |
434 | | - CL_RETURN_ON_FAILURE(SetProgramSpecializationConstant( |
435 | | - CLProg, pSpecConstants[i].id, pSpecConstants[i].size, |
436 | | - pSpecConstants[i].pValue)); |
437 | | - } |
| 404 | + return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; |
438 | 405 | } |
| 406 | + |
439 | 407 | return UR_RESULT_SUCCESS; |
440 | 408 | } |
441 | 409 |
|
|
0 commit comments