Skip to content

Commit 257658c

Browse files
authored
[SYCL] Set "BinaryStatus" correctly in L0 plugin (#2308)
Set the "BinaryStatus" parameter to ProgramCreateWithBinary() correctly for certain error codes, following the OpenCL API. Signed-off-by: Greg Lueck <gregory.m.lueck@intel.com>
1 parent bdc2b85 commit 257658c

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

sycl/plugins/level_zero/pi_level_zero.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1769,13 +1769,18 @@ pi_result piProgramCreateWithBinary(pi_context Context, pi_uint32 NumDevices,
17691769
return PI_INVALID_CONTEXT;
17701770
if (!DeviceList || !NumDevices)
17711771
return PI_INVALID_VALUE;
1772-
if (!Binaries || !Lengths || !Binaries[0] || !Lengths[0])
1772+
if (!Binaries || !Lengths)
17731773
return PI_INVALID_VALUE;
17741774
if (!Program)
17751775
return PI_INVALID_VALUE;
17761776

17771777
// For now we support only one device.
17781778
assert(NumDevices == 1);
1779+
if (!Binaries[0] || !Lengths[0]) {
1780+
if (BinaryStatus)
1781+
*BinaryStatus = PI_INVALID_VALUE;
1782+
return PI_INVALID_VALUE;
1783+
}
17791784
if (DeviceList[0] != Context->Device)
17801785
return PI_INVALID_DEVICE;
17811786

@@ -1801,6 +1806,9 @@ pi_result piProgramCreateWithBinary(pi_context Context, pi_uint32 NumDevices,
18011806
} catch (...) {
18021807
return PI_ERROR_UNKNOWN;
18031808
}
1809+
1810+
if (BinaryStatus)
1811+
*BinaryStatus = PI_SUCCESS;
18041812
return PI_SUCCESS;
18051813
}
18061814

0 commit comments

Comments
 (0)