Enqueues a command to fill a buffer object with a pattern of a given pattern size.
cl_int clEnqueueFillBuffer(cl_command_queue command_queue,
cl_mem buffer,
const void *pattern,
size_t pattern_size,
size_t offset,
size_t size,
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_queueandbuffermust be the same. buffer-
A valid buffer object.
pattern-
A pointer to the data pattern of size
pattern_sizein bytes.patternwill be used to fill a region inbufferstarting atoffsetand issizebytes in size. The data pattern must be a scalar or vector integer or floating-point data type. For example, ifbufferis to be filled with a pattern offloat4values, thenpatternwill be a pointer to acl_float4value andpattern_sizewill besizeof(cl_float4). The maximum value ofpattern_sizeis the size of the largest integer or floating-point vector data type supported by the OpenCL device. The memory associated withpatterncan be reused or freed after the function returns. offset-
The location in bytes of the region being filled in
bufferand must be a multiple ofpattern_size. size-
The size in bytes of region being filled in
bufferand must be a multiple ofpattern_size. 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.
Enqueues a command to fill a buffer object with a pattern of a given pattern size.
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 buffer is created is ignored by clEnqueueFillBuffer.
clEnqueueFillBuffer returns 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_queueandbufferare not the same or if the context associated withcommand_queueand events inevent_wait_listare not the same. -
CL_INVALID_MEM_OBJECTifbufferis not a valid buffer object. -
CL_INVALID_VALUEifoffsetoroffset+sizerequire accessing elements outside thebufferbuffer object respectively. -
CL_INVALID_VALUEifpatternis NULL or ifpattern_sizeis 0 or ifpattern_sizeis not one of {1, 2, 4, 8, 16, 32, 64, 128}. -
CL_INVALID_VALUEifoffsetandsizeare not a multiple ofpattern_size. -
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_MISALIGNED_SUB_BUFFER_OFFSETifbufferis a sub-buffer object and offset specified when the sub-buffer object is created is not aligned toCL_DEVICE_MEM_BASE_ADDR_ALIGNvalue for device associated withqueue. -
CL_MEM_OBJECT_ALLOCATION_FAILUREif there is a failure to allocate memory for data store associated withbuffer. -
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.