summaryrefslogtreecommitdiff
path: root/src/cl_api.c
diff options
context:
space:
mode:
authorHomer Hsing <homer.xing@intel.com>2012-12-27 14:43:00 +0800
committerZhigang Gong <zhigang.gong@linux.intel.com>2013-04-10 14:51:30 +0800
commit1b20fd9dd4659e0f72d12832427145f82123e89c (patch)
treea9657b0184ea1707f00855ce20825c5ed149d1d7 /src/cl_api.c
parent680c9cffbdc3b05cf5a0287a18da70bbca70369d (diff)
Implement clEnqueueWriteBuffer
It is only the first step. support only blocking write. Signed-off-by: Homer Hsing <homer.xing@intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'src/cl_api.c')
-rw-r--r--src/cl_api.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/cl_api.c b/src/cl_api.c
index 5997f398..e8cbd141 100644
--- a/src/cl_api.c
+++ b/src/cl_api.c
@@ -777,8 +777,15 @@ clEnqueueWriteBuffer(cl_command_queue command_queue,
const cl_event * event_wait_list,
cl_event * event)
{
- NOT_IMPLEMENTED;
- return 0;
+ if (blocking_write != CL_TRUE)
+ NOT_IMPLEMENTED;
+ cl_int err;
+ void *p = clIntelMapBuffer(buffer, &err);
+ if (err != CL_SUCCESS)
+ return err;
+ memcpy(p + offset, ptr, cb);
+ err = clIntelUnmapBuffer(buffer);
+ return err;
}
cl_int