To creates a program object for a context and load code in an intermediate language into that object, call the function
cl_program clCreateProgramWithIL( cl_context context, const void* il, size_t length, cl_int* errcode_ret);
context must be a valid OpenCL context.
il is a pointer to a length-byte block of memory containing SPIR-V or an implementation-defined intermediate language.
errcode_ret will return an appropriate error code. If errcode_ret is
NULL, no error code is returned.
The IL pointed to by il and with length in bytes length will be loaded into the program object. The devices associated with the program object are the devices associated with context.
clCreateProgramWithIL returns a valid non-zero program object and
errcode_ret is set to
CL_SUCCESS if the program object is created
Otherwise, it returns a
NULL value with one of the following error values
returned in errcode_ret:
CL_INVALID_CONTEXTif context is not a valid context.
CL_INVALID_VALUEif il is
NULLor if length is zero.
CL_INVALID_VALUEif the length-byte memory pointed to by il does not contain well-formed intermediate language input that can be consumed by the OpenCL runtime.
CL_OUT_OF_RESOURCESif there is a failure to allocate resources required by the OpenCL implementation on the device.
CL_OUT_OF_HOST_MEMORYif there is a failure to allocate resources required by the OpenCL implementation on the host.
For more information, see the OpenCL Specification
This page is extracted from the OpenCL Specification. Fixes and changes should be made to the Specification, not directly.
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.