Creates an OpenCL 3D image object from a subresource of a Direct3D 11 3D texture.
cl_mem clCreateFromD3D11Texture3DKHR(cl_context context,
cl_mem_flags flags,
ID3D11Texture3D *resource,
UINT subresource,
cl_int *errcode_ret)
context
-
A valid OpenCL context created from a Direct3D 11 device.
flags
-
A bit-field that is used to specify usage information. May be
CL_MEM_READ_ONLY
,CL_MEM_WRITE_ONLY
, orCL_MEM_READ_WRITE
. (See the table forclCreateBuffer
for more information.) resource
-
A pointer to the Direct3D 11 texture to share.
subresource
-
The subresource of
resource
to share. errcode_ret
-
An appropriate error code. If
errcode_ret
is NULL, no error code is returned.
The width, height and depth of the returned OpenCL 3D image object are determined by the width, height and depth of subresource subresource
of resource
.
The channel type and order of the returned OpenCL 3D image object is determined by the format of resource
as shown in the table below (Table 9.9.3).
This call will increment the internal Direct3D reference count on resource
.
The internal Direct3D reference count on resource
will be decremented when the OpenCL reference count on the returned OpenCL memory object drops to zero.
DXGI format | CL image format (channel order, channel data type) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns a valid non-zero OpenCL image object and errcode_ret
is set to CL_SUCCESS
if the image object is created successfully.
Otherwise, it returns a NULL value with one of the following error values returned in errcode_ret
:
-
CL_INVALID_CONTEXT
ifcontext
is not a valid context. -
CL_INVALID_VALUE
if values specified inflags
are not valid or ifsubresource
is not a valid subresource index forresource
. -
CL_INVALID_D3D11_RESOURCE_KHR
ifresource
is not a Direct3D 11 texture resource, ifresource
was created with theD3D11_USAGE
flagD3D11_USAGE_IMMUTABLE
, if aresource
is a multisampled texture, if acl_mem
from subresourcesubresource
ofresource
has already been created usingclCreateFromD3D11Texture3DKHR
, or ifcontext
was not created against the same Direct3D 11 device from whichresource
was created. -
CL_INVALID_IMAGE_FORMAT_DESCRIPTOR
if the Direct3D 11 texture format ofresource
is not a value listed in the table above of Direct3D 11 and corresponding OpenCL image formats, or if the Direct3D 11 texture format ofresource
does not map to a supported OpenCL image format. -
CL_OUT_OF_HOST_MEMORY
if there is a failure to allocate resources required by the OpenCL implementation on the host.