diff options
author | Junyan He <junyan.he@intel.com> | 2016-10-10 15:20:08 +0800 |
---|---|---|
committer | Yang Rong <rong.r.yang@intel.com> | 2016-12-16 17:24:33 +0800 |
commit | 868dcaff6b78323684a7c18f3ae168bf826b5961 (patch) | |
tree | f230de2d60862e14f0322952994d3ee744bc5b66 /src/cl_mem.c | |
parent | ab3925f128c701fe862d2980103a07c0feb97be0 (diff) |
Modify clGetMemObjectInfo using cl_get_info_helper.
Signed-off-by: Junyan He <junyan.he@intel.com>
Reviewed-by: Yang Rong <rong.r.yang@intel.com>
Diffstat (limited to 'src/cl_mem.c')
-rw-r--r-- | src/cl_mem.c | 80 |
1 files changed, 1 insertions, 79 deletions
diff --git a/src/cl_mem.c b/src/cl_mem.c index afce315b..24699074 100644 --- a/src/cl_mem.c +++ b/src/cl_mem.c @@ -50,7 +50,7 @@ #define MAX_TILING_SIZE 128 * MB -static cl_mem_object_type +LOCAL cl_mem_object_type cl_get_mem_object_type(cl_mem mem) { switch (mem->type) { @@ -69,84 +69,6 @@ cl_get_mem_object_type(cl_mem mem) } LOCAL cl_int -cl_get_mem_object_info(cl_mem mem, - cl_mem_info param_name, - size_t param_value_size, - void *param_value, - size_t *param_value_size_ret) -{ - switch(param_name) - { - FIELD_SIZE(MEM_TYPE, cl_mem_object_type); - FIELD_SIZE(MEM_FLAGS, cl_mem_flags); - FIELD_SIZE(MEM_SIZE, size_t); - FIELD_SIZE(MEM_HOST_PTR, void *); - FIELD_SIZE(MEM_MAP_COUNT, cl_uint); - FIELD_SIZE(MEM_REFERENCE_COUNT, cl_uint); - FIELD_SIZE(MEM_CONTEXT, cl_context); - FIELD_SIZE(MEM_ASSOCIATED_MEMOBJECT, cl_mem); - FIELD_SIZE(MEM_OFFSET, size_t); - FIELD_SIZE(MEM_USES_SVM_POINTER, cl_bool); - default: - return CL_INVALID_VALUE; - } - - switch(param_name) - { - case CL_MEM_TYPE: - *((cl_mem_object_type *)param_value) = cl_get_mem_object_type(mem); - break; - case CL_MEM_FLAGS: - *((cl_mem_flags *)param_value) = mem->flags; - break; - case CL_MEM_SIZE: - *((size_t *)param_value) = mem->size; - break; - case CL_MEM_HOST_PTR: - if(mem->type == CL_MEM_IMAGE_TYPE) { - *((size_t *)param_value) = (size_t)mem->host_ptr; - } else { - struct _cl_mem_buffer* buf = (struct _cl_mem_buffer*)mem; - *((size_t *)param_value) = (size_t)mem->host_ptr + buf->sub_offset; - } - break; - case CL_MEM_MAP_COUNT: - *((cl_uint *)param_value) = mem->map_ref; - break; - case CL_MEM_REFERENCE_COUNT: - *((cl_uint *)param_value) = CL_OBJECT_GET_REF(mem); - break; - case CL_MEM_CONTEXT: - *((cl_context *)param_value) = mem->ctx; - break; - case CL_MEM_ASSOCIATED_MEMOBJECT: - if(mem->type == CL_MEM_SUBBUFFER_TYPE) { - struct _cl_mem_buffer* buf = (struct _cl_mem_buffer*)mem; - *((cl_mem *)param_value) = (cl_mem)(buf->parent); - } else if (mem->type == CL_MEM_IMAGE_TYPE) { - *((cl_mem *)param_value) = mem; - } else if (mem->type == CL_MEM_BUFFER1D_IMAGE_TYPE) { - struct _cl_mem_buffer1d_image* image_buffer = (struct _cl_mem_buffer1d_image*)mem; - *((cl_mem *)param_value) = image_buffer->descbuffer; - } else - *((cl_mem *)param_value) = NULL; - break; - case CL_MEM_OFFSET: - if(mem->type != CL_MEM_SUBBUFFER_TYPE) { - *((size_t *)param_value) = 0; - } else { - struct _cl_mem_buffer* buf = (struct _cl_mem_buffer*)mem; - *((size_t *)param_value) = buf->sub_offset; - } - break; - case CL_MEM_USES_SVM_POINTER: - *((cl_uint *)param_value) = mem->is_svm; - } - - return CL_SUCCESS; -} - -LOCAL cl_int cl_get_pipe_info(cl_mem mem, cl_mem_info param_name, size_t param_value_size, |