@@ -125,6 +125,16 @@ UR_APIEXPORT ur_result_t UR_APICALL urProgramCreateWithBinary(
125125 return UR_RESULT_SUCCESS;
126126}
127127
128+ UR_APIEXPORT ur_result_t UR_APICALL
129+ urProgramCreateWithIL (ur_context_handle_t hContext, const void *pIL,
130+ size_t length, const ur_program_properties_t *pProperties,
131+ ur_program_handle_t *phProgram) {
132+ // Liboffload consumes both IR and binaries through the same entrypoint
133+ return urProgramCreateWithBinary (hContext, 1 , &hContext->Device , &length,
134+ reinterpret_cast <const uint8_t **>(&pIL),
135+ pProperties, phProgram);
136+ }
137+
128138UR_APIEXPORT ur_result_t UR_APICALL urProgramBuild (ur_context_handle_t ,
129139 ur_program_handle_t ,
130140 const char *) {
@@ -147,12 +157,6 @@ UR_APIEXPORT ur_result_t UR_APICALL urProgramCompile(ur_context_handle_t,
147157 return UR_RESULT_SUCCESS;
148158}
149159
150- UR_APIEXPORT ur_result_t UR_APICALL
151- urProgramCreateWithIL (ur_context_handle_t , const void *, size_t ,
152- const ur_program_properties_t *, ur_program_handle_t *) {
153- return UR_RESULT_ERROR_COMPILER_NOT_AVAILABLE;
154- }
155-
156160UR_APIEXPORT ur_result_t UR_APICALL
157161urProgramGetInfo (ur_program_handle_t hProgram, ur_program_info_t propName,
158162 size_t propSize, void *pPropValue, size_t *pPropSizeRet) {
0 commit comments