Creates a program object for a context, and loads the information related to the built-in kernels into a program object.
cl_program clCreateProgramWithBuiltInKernels(cl_context context,
cl_uint num_devices,
const cl_device_id *device_list,
const char *kernel_names,
cl_int *errcode_ret)
context
-
Must be a valid OpenCL context.
num_devices
-
The number of devices listed in
device_list
. device_list
-
A pointer to a list of devices that are in
context
.device_list
must be a non-NULL value. The built-in kernels are loaded for devices specified in this list.The devices associated with the program object will be the list of devices specified by
device_list
. The list of devices specified bydevice_list
must be devices associated withcontext
. kernel_names
-
A semi-colon separated list of built-in kernel names.
Returns a valid non-zero program object and errcode_ret
is set to CL_SUCCESS
if the program object is created successfully.
Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret
:
-
CL_INVALID_CONTEXT
ifcontext
is not a valid context. -
CL_INVALID_VALUE
ifdevice_list
is NULL ornum_devices
is zero; -
CL_INVALID_VALUE
ifkernel_names
is NULL orkernel_names
contains a kernel name that is not supported by any of the devices indevice_list
. -
CL_INVALID_DEVICE
if devices listed indevice_list
are not in the list of devices associated withcontext
. -
CL_OUT_OF_RESOURCES
if there is a failure to allocate resources required by the OpenCL implementation on the device. -
CL_OUT_OF_HOST_MEMORY
if there is a failure to allocate resources required by the OpenCL implementation on the host.