Get information that is common to all memory objects (buffer and image objects).
cl_int clGetMemObjectInfo(cl_mem memobj,
cl_mem_info param_name,
size_t param_value_size,
void *param_value,
size_t *param_value_size_ret)
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 inparam_value
byclGetMemObjectInfo
is described in the table below.cl_mem_info Return Type Info. returned in param_value
CL_MEM_TYPE
cl_mem_object_type
Returns one of the following values:
CL_MEM_OBJECT_BUFFER
ifmemobj
is created withclCreateBuffer
orclCreateSubBuffer
.cl_image_desc.image_type argument value if
memobj
is created withclCreateImage
.CL_MEM_OBJECT_PIPE
ifmemobj
is created withclCreatePipe
.CL_MEM_FLAGS
cl_mem_flags
Returns the
flags
argument value specified whenmemobj
is created withclCreateBuffer
,clCreateSubBuffer
,clCreateImage
. orclCreatePipe
. Ifmemobj
is a sub-buffer the memory access qualifiers inherited from parent buffer is also returned.CL_MEM_SIZE
size_t
Return actual size of the data store associated with
memobj
in bytes.CL_MEM_HOST_PTR
void *
If
memobj
is created withclCreateBuffer
orclCreateImage
andCL_MEM_USE_HOST_PTR
is specified inmem_flags
, return thehost_ptr
argument value specified whenmemobj
is created. Otherwise a NULL value is returned.If
memobj
is created withclCreateSubBuffer
, return thehost_ptr
+origin
value specified whenmemobj
is created.host_ptr
is the argument value specified toclCreateBuffer
andCL_MEM_USE_HOST_PTR
is specified inmem_flags
for memory object from whichmemobj
is created. Otherwise a NULL value is returned.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. If
memobj
is created usingclCreateSubBuffer
, the context associated with the memory object specified as thebuffer
argument toclCreateSubBuffer
is returned.CL_MEM_ASSOCIATED_- MEMOBJECT
cl_mem
Return memory object from which
memobj
is created.This returns the memory object specified as
buffer
argument toclCreateSubBuffer
ifmemobj
is a subbuffer object created usingclCreateSubBuffer
.This returns the
memobj
specified incl_image_desc
ifmemobj
is an image object.Otherwise a NULL value is returned.
CL_MEM_OFFSET
size_t
Return offset if
memobj
is a sub-buffer object created usingclCreateSubBuffer
.This returns 0 if
memobj
is not a subbuffer object.CL_MEM_USES_SVM_POINTER
cl_bool
Return
CL_TRUE
ifmemobj
is a buffer object that was created withCL_MEM_USE_HOST_PTR
or is a subbuffer object of a buffer object that was created withCL_MEM_USE_HOST_PTR
and thehost_ptr
specified when the buffer object was created is a SVM pointer; otherwise returnsCL_FALSE
.CL_MEM_D3D10_RESOURCE_KHR
ID3D10Resource *
If the
cl_khr_d3d10_sharing
extension is enabled, and ifmemobj
was created usingclCreateFromD3D10BufferKHR
,clCreateFromD3D10Texture2DKHR
, orclCreateFromD3D10Texture3DKHR
, returns theresource
argument specified whenmemobj
was created.CL_MEM_DX9_MEDIA_- ADAPTER_TYPE_KHR
cl_dx9_media_- adapter_type_khr
Returns the
cl_dx9_media_adapter_type_khr
argument value specified whenmemobj
is created usingclCreateFromDX9MediaSurfaceKHR
(If thecl_khr_dx9_media_sharing
extension is supported)CL_MEM_DX9_MEDIA_- SURFACE_INFO_KHR
cl_dx9_- surface_info_khr
Returns the
cl_dx9_surface_info_khr
argument value specified whenmemobj
is created usingclCreateFromDX9MediaSurfaceKHR
(If thecl_khr_dx9_media_sharing
extension is supported)CL_MEM_D3D11_RESOURCE_KHR
ID3D11Resource *
If the
cl_khr_d3d11_sharing
extension is supported, ifmemobj
was created usingclCreateFromD3D11BufferKHR
,clCreateFromD3D11Texture2DKHR
, orclCreateFromD3D11Texture3DKHR
, returns theresource
argument specified whenmemobj
was 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 ≥ 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
. Ifparam_value_size_ret
is NULL, it is ignored.
Returns CL_SUCCESS
if the function is executed successfully.
Otherwise, it returns one of the following errors:
-
CL_INVALID_VALUE
ifparam_name
is not valid, or if size in bytes specified byparam_value_size
is < the size of return type as described in the table above andparam_value
is not NULL. -
CL_INVALID_MEM_OBJECT
ifmemobj
is a not a valid memory object. -
CL_OUT_OF_RESOURCES
if there is a failure to allocate resources required by the OpenCL implementation on the device. -
CL_OUT_OF_HOST_MEMORY
if there is a failure to allocate resources required by the OpenCL implementation on the host. -
CL_INVALID_D3D10_RESOURCE_KHR
If thecl_khr_d3d10_sharing
extension is enabled and ifparam_name
isCL_MEM_D3D10_RESOURCE_KHR
andmemobj
was not created by the functionclCreateFromD3D10BufferKHR
,clCreateFromD3D10Texture2DKHR
, orclCreateFromD3D10Texture3DKHR
. -
CL_INVALID_DX9_MEDIA_SURFACE_KHR
ifparam_name
isCL_MEM_DX9_MEDIA_SURFACE_INFO_KHR
andmemobj
was not created by the functionclCreateFromDX9MediaSurfaceKHR
from a Direct3D9 surface. (If thecl_khr_dx9_media_sharing
extension is supported) -
CL_INVALID_D3D11_RESOURCE_KHR
If thecl_khr_d3d11_sharing
extension is supported, ifparam_name
isCL_MEM_D3D11_RESOURCE_KHR
andmemobj
was not created by the functionclCreateFromD3D11BufferKHR
,clCreateFromD3D11Texture2DKHR
, orclCreateFromD3D11Texture3DKHR
."