summaryrefslogtreecommitdiff
path: root/src/cl_kernel.c
diff options
context:
space:
mode:
authorLuo Xionghu <xionghu.luo@intel.com>2014-09-11 08:43:54 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-09-11 13:42:31 +0800
commit5cf035a8098deed26469b151972386fe5305c032 (patch)
tree7493ccf186058138b5c5698fc4411e37b10e8d5b /src/cl_kernel.c
parent55ac17eba32cb440f09a0cef63d0675ce9ebbfbb (diff)
fix piglit cl-api-set-kernel-arg fail.
the memory object should be checked whether valid in context buffers before being set as kernel arguments. v2: rename the function from mem_in_buffers to is_valid_mem, move the magic header check into it. Signed-off-by: Luo Xionghu <xionghu.luo@intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'src/cl_kernel.c')
-rw-r--r--src/cl_kernel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cl_kernel.c b/src/cl_kernel.c
index 5ab9c558..d7c2f7c1 100644
--- a/src/cl_kernel.c
+++ b/src/cl_kernel.c
@@ -99,6 +99,7 @@ cl_kernel_set_arg(cl_kernel k, cl_uint index, size_t sz, const void *value)
enum gbe_arg_type arg_type; /* kind of argument */
size_t arg_sz; /* size of the argument */
cl_mem mem = NULL; /* for __global, __constant and image arguments */
+ cl_context ctx = k->program->ctx;
if (UNLIKELY(index >= k->arg_n))
return CL_INVALID_ARG_INDEX;
@@ -136,7 +137,7 @@ cl_kernel_set_arg(cl_kernel k, cl_uint index, size_t sz, const void *value)
if(value != NULL)
mem = *(cl_mem*)value;
if(value != NULL && mem) {
- if (UNLIKELY(mem->magic != CL_MAGIC_MEM_HEADER))
+ if( CL_SUCCESS != is_valid_mem(mem, ctx->buffers))
return CL_INVALID_MEM_OBJECT;
if (UNLIKELY((arg_type == GBE_ARG_IMAGE && !IS_IMAGE(mem))