Correct clCreateProgramWithIL

store all devices from context

Related-To: NEO-5001
Change-Id: I728ba460f7c9e4cc500395706c85f7f12e175d2f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2020-10-22 09:06:35 +02:00
committed by sys_ocldev
parent a977ee6c15
commit b8858ee0d6
3 changed files with 59 additions and 9 deletions

View File

@@ -171,12 +171,14 @@ T *Program::createFromIL(Context *context,
return nullptr;
}
auto device = context->getDevice(0);
ClDeviceVector deviceVector;
deviceVector.push_back(device);
auto deviceVector = context->getDevices();
T *program = new T(context, false, deviceVector);
errcodeRet = program->createProgramFromBinary(il, length, device->getRootDeviceIndex());
for (const auto &device : deviceVector) {
errcodeRet = program->createProgramFromBinary(il, length, device->getRootDeviceIndex());
if (errcodeRet != CL_SUCCESS) {
break;
}
}
program->createdFrom = CreatedFrom::IL;
if (errcodeRet != CL_SUCCESS) {