Enqueues a command to fill an image object with a specified color.
cl_int clEnqueueFillImage(cl_command_queue command_queue,
cl_mem image,
const void *fill_color,
const size_t *origin,
const size_t *region,
cl_uint num_events_in_wait_list,
const cl_event *event_wait_list,
cl_event *event)command_queue-
Refers to the host command-queue in which the fill command will be queued. The OpenCL context associated with
command_queueandimagemust be the same. image-
A valid image object.
fill_color-
The color used to fill the image. The fill color is a single floating point value if the channel order is
CL_DEPTH. Otherwise, the fill color is a four component RGBA floating-point color value if theimagechannel data type is not an unnormalized signed or unsigned integer type, is a four component signed integer value if theimagechannel data type is an unnormalized signed integer type and is a four component unsigned integer value if theimagechannel data type is an unnormalized unsigned integer type. The fill color will be converted to the appropriate image channel format and order associated withimageas described in sections 6.12.14 and 8.3. origin-
Defines the (x, y, z) offset in pixels in the 1D, 2D, or 3D image, the (x, y) offset and the image index in the image array or the (x) offset and the image index in the 1D image array. If
imageis a 2D image object,origin[2] must be 0. Ifimageis a 1D image or 1D image buffer object,origin[1] andorigin[2] must be 0. Ifimageis a 1D image array object,origin[2] must be 0. Ifimageis a 1D image array object,origin[1] describes the image index in the 1D image array. Ifimageis a 2D image array object,origin[2] describes the image index in the 2D image array. region-
Defines the (width, height, depth) in pixels of the 1D, 2D or 3D rectangle, the (width, height) in pixels of the 2D rectangle and the number of images of a 2D image array or the (width) in pixels of the 1D rectangle and the number of images of a 1D image array. If
imageis a 2D image object,region[2] must be 1. Ifimageis a 1D image or 1D image buffer object,region[1] andregion[2] must be 1. Ifimageis a 1D image array object,region[2] must be 1. The values inregioncannot be 0. event_wait_list ,num_events_in_wait_list-
Specify events that need to complete before this particular command can be executed. If
event_wait_listis NULL, then this particular command does not wait on any event to complete. Ifevent_wait_listis NULL,num_events_in_wait_listmust be 0. Ifevent_wait_listis not NULL, the list of events pointed to byevent_wait_listmust be valid andnum_events_in_wait_listmust be greater than 0. The events specified inevent_wait_listact as synchronization points. The context associated with events inevent_wait_listandcommand_queuemust be the same. The memory associated withevent_wait_listcan be reused or freed after the function returns. event-
Returns an event object that identifies this particular write command and can be used to query or queue a wait for this particular command to complete.
eventcan be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete.clEnqueueBarrierWithWaitListcan be used instead. If theevent_wait_listand theeventarguments are not NULL, theeventargument should not refer to an element of theevent_wait_listarray.
The usage information which indicates whether the memory object can be read or written by a kernel and/or the host and is given by the cl_mem_flags argument value specified when image is created is ignored by clEnqueueFillImage.
If the cl_khr_mipmap_image extension is enabled, calls to clEnqueueFillImage can be used to write to a specific mip-level of a mip-mapped image.
If image argument is a 1D image, origin[1] specifies the mip-level to use.
If image argument is a 1D image array, origin[2] specifies the mip-level to use.
If image argument is a 2D image, origin[2] specifies the mip-level to use.
If image argument is a 2D image array or a 3D image, origin[3] specifies the mip-level to use.
clEnqueueFillImage return CL_SUCCESS if the function is executed successfully.
Otherwise, it returns one of the following errors.
-
CL_INVALID_COMMAND_QUEUEifcommand_queueis not a valid host command-queue. -
CL_INVALID_CONTEXTif the context associated withcommand_queueandimageare not the same or if the context associated withcommand_queueand events inevent_wait_listare not the same. -
CL_INVALID_MEM_OBJECTifimageis not a valid image object. -
CL_INVALID_VALUEiffill_coloris NULL. -
CL_INVALID_VALUEif the region being written specified byoriginandregionis out of bounds or ifptris a NULL value. -
CL_INVALID_VALUEif values inoriginandregiondo not follow rules described in the argument description fororiginandregion. -
CL_INVALID_EVENT_WAIT_LISTifevent_wait_listis NULL andnum_events_in_wait_list> 0, orevent_wait_listis not NULL andnum_events_in_wait_listis 0, or if event objects inevent_wait_listare not valid events. -
CL_INVALID_IMAGE_SIZEif image dimensions (image width, height, specified or compute row and/or slice pitch) forimageare not supported by device associated withqueue. -
CL_IMAGE_FORMAT_NOT_SUPPORTEDif image format (image channel order and data type) forimageare not supported by device associated withqueue. -
CL_MEM_OBJECT_ALLOCATION_FAILUREif there is a failure to allocate memory for data store associated withimage. -
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.