|
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