Used to get information that is common to all memory objects (buffer and image objects).
memobj
Specifies the memory object being queried.
param_name
Specifies the information to query. The list of supported param_name
types and the
information returned in param_value
by clGetMemObjectInfo
is described in the table below.
cl_mem_info | Return Type | Info. returned in param_value |
---|---|---|
CL_MEM_TYPE
|
cl_mem_object_type |
Returns CL_MEM_OBJECT_BUFFER if
memobj is created with clCreateBuffer,
CL_MEM_OBJECT_IMAGE2D if
memobj is created with
clCreateImage2D or
CL_MEM_OBJECT_IMAGE3D if
memobj is created with
clCreateImage3D.
|
CL_MEM_FLAGS
|
cl_mem_flags |
Return the flags argument value
specified when memobj is created with clCreateBuffer, clCreateImage2D, or clCreateImage3D.
|
CL_MEM_SIZE
|
size_t |
Return actual size of memobj in bytes.
|
CL_MEM_HOST_PTR
|
void * |
Return the host_ptr argument value specified when memobj is created.
|
CL_MEM_MAP_COUNT
|
cl_uint | Map count. The map count returned should be considered immediately stale. It is unsuitable for general use in applications. This feature is provided for debugging. |
CL_MEM_REFERENCE_COUNT
|
cl_uint |
Return memobj reference count. The reference count returned should be considered immediately stale. It is unsuitable for general use in
applications. This feature is provided for identifying memory leaks.
|
CL_MEM_CONTEXT
|
cl_context | Return context specified when memory object is created. |
param_value
A pointer to memory where the appropriate result being queried is returned. If param_value
is NULL, it is ignored.
param_value_size
Used to specify the size in bytes of memory pointed to by param_value
.
This size must be greater than or equal to size of return type as described in the table above.
param_value_size_ret
Returns the actual size in bytes of data being queried by param_value
. If param_value_size_ret
is NULL, it is ignored.
clGetMemObjectInfo
returns CL_SUCCESS if the function is executed successfully, returns
CL_INVALID_VALUE if param_name
is not valid, or if size in bytes specified by
param_value_size
is less than the size of return type as described in the table above and param_value
is not
NULL, and returns CL_INVALID_MEM_OBJECT if memobj
is a not a valid image object.