@@ -1805,10 +1805,16 @@ __urdlllocal ur_result_t UR_APICALL urProgramCreateWithIL(
1805
1805
// / @brief Intercept function for urProgramCreateWithBinary
1806
1806
__urdlllocal ur_result_t UR_APICALL urProgramCreateWithBinary (
1807
1807
ur_context_handle_t hContext, // /< [in] handle of the context instance
1808
- ur_device_handle_t
1809
- hDevice, // /< [in] handle to device associated with binary.
1810
- size_t size, // /< [in] size in bytes.
1811
- const uint8_t *pBinary, // /< [in] pointer to binary.
1808
+ uint32_t numDevices, // /< [in] number of devices
1809
+ ur_device_handle_t *
1810
+ phDevices, // /< [in][range(0, numDevices)] a pointer to a list of device handles. The
1811
+ // /< binaries are loaded for devices specified in this list.
1812
+ size_t *
1813
+ pLengths, // /< [in][range(0, numDevices)] array of sizes of program binaries
1814
+ // /< specified by `pBinaries` (in bytes).
1815
+ const uint8_t **
1816
+ ppBinaries, // /< [in][range(0, numDevices)] pointer to program binaries to be loaded
1817
+ // /< for devices specified by `phDevices`.
1812
1818
const ur_program_properties_t *
1813
1819
pProperties, // /< [in][optional] pointer to program creation properties.
1814
1820
ur_program_handle_t
@@ -1823,8 +1829,8 @@ __urdlllocal ur_result_t UR_APICALL urProgramCreateWithBinary(
1823
1829
1824
1830
ur_result_t result = UR_RESULT_SUCCESS;
1825
1831
try {
1826
- result = pfnCreateWithBinary (hContext, hDevice, size, pBinary ,
1827
- pProperties, phProgram);
1832
+ result = pfnCreateWithBinary (hContext, numDevices, phDevices, pLengths ,
1833
+ ppBinaries, pProperties, phProgram);
1828
1834
} catch (...) {
1829
1835
std::cerr << " Exception caught from adapter layer in " << __func__
1830
1836
<< " aborting\n " ;
0 commit comments