table of contents
CLGETMEMOBJECTINFO(3clc) | OpenCL Manual | CLGETMEMOBJECTINFO(3clc) |
NAME¶
clGetMemObjectInfo - 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);
PARAMETERS¶
memobjSpecifies 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.
param_value
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 if memobj is created with clCreateBuffer(3clc) or clCreateSubBuffer(3clc). cl_image_desc.image_type argument value if memobj is created with clCreateImage(3clc). |
CL_MEM_FLAGS | cl_mem_flags | Returns the flags argument value specified when memobj is created with clCreateBuffer(3clc), clCreateSubBuffer(3clc), or clCreateImage(3clc). If memobj 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 with clCreateBuffer(3clc) or clCreateImage(3clc) and CL_MEM_USE_HOST_PTR is specified in mem_flags, return the host_ptr argument value specified when memobj is created. Otherwise a NULL value is returned. If memobj is created with clCreateSubBuffer(3clc), return the host_ptr + origin value specified when memobj is created. host_ptr is the argument value specified to clCreateBuffer(3clc) and CL_MEM_USE_HOST_PTR is specified in mem_flags for memory object from which memobj 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 using clCreateSubBuffer(3clc), the context associated with the memory object specified as the buffer argument to clCreateSubBuffer(3clc) 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 to clCreateSubBuffer(3clc). Otherwise a NULL value is returned. |
CL_MEM_OFFSET | size_t | Return offset if memobj is a sub-buffer object created using clCreateSubBuffer(3clc). This returns 0 if memobj is not a subbuffer object. |
CL_MEM_D3D10_RESOURCE_KHR | ID3D10Resource * | The property being queried (if the cl_khr_d3d10_sharing(3clc) extension is enabled). If memobj was created using clCreateFromD3D10BufferKHR(3clc), clCreateFromD3D10Texture2DKHR(3clc), or clCreateFromD3D10Texture3DKHR(3clc), returns the resource argument specified when memobj 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 when memobj is created using clCreateFromDX9MediaSurfaceKHR(3clc) (If the cl_khr_dx9_media_sharing(3clc) 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 when memobj is created using clCreateFromDX9MediaSurfaceKHR(3clc) (If the cl_khr_dx9_media_sharing(3clc) extension is supported) |
CL_MEM_D3D11_RESOURCE_KHR | ID3D11Resource * | If the cl_khr_d3d11_sharing extension is supported, If memobj was created using clCreateFromD3D11BufferKHR(3clc), clCreateFromD3D11Texture2DKHR(3clc), or clCreateFromD3D11Texture3DKHR(3clc), returns the resource argument specified when memobj was created. |
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. If param_value_size_ret is NULL, it is
ignored.
ERRORS¶
Returns CL_SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:•CL_INVALID_VALUE if param_name is not
valid, or if size in bytes specified by param_value_size is < the
size of return type as described in the table above and param_value is
not NULL.
•CL_INVALID_MEM_OBJECT if memobj 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 the
cl_khr_d3d10_sharing(3clc) extension is enabled and if
param_name is CL_MEM_D3D10_RESOURCE_KHR and memobj was
not created by the function clCreateFromD3D10BufferKHR(3clc),
clCreateFromD3D10Texture2DKHR(3clc), or
clCreateFromD3D10Texture3DKHR(3clc).
•CL_INVALID_DX9_MEDIA_SURFACE_KHR if
param_name is CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR and
memobj was not created by the function
clCreateFromDX9MediaSurfaceKHR(3clc) from a Direct3D9 surface. (If the
cl_khr_dx9_media_sharing(3clc) extension is supported)
•CL_INVALID_D3D11_RESOURCE_KHR If the
cl_khr_d3d11_sharing extension is supported, if param_name is
CL_MEM_D3D11_RESOURCE_KHR and memobj was not created by the
function clCreateFromD3D11BufferKHR(3clc),
clCreateFromD3D11Texture2DKHR(3clc), or
clCreateFromD3D11Texture3DKHR(3clc)."
SPECIFICATION¶
OpenCL Specification[1]SEE ALSO¶
clGetImageInfo(3clc)AUTHORS¶
The Khronos GroupCOPYRIGHT¶
Copyright © 2007-2011 The Khronos Group Inc.NOTES¶
- 1.
- OpenCL Specification
page 125, section 5.4.5 - Memory Object Queries
06/18/2014 | The Khronos Group |