cl_mem
clCreateFromD3D10BufferKHR(
| cl_context context, |
cl_mem_flags flags, | |
ID3D10Buffer *resource, | |
cl_int
*errcode_ret
) |
context
A valid OpenCL context created from a Direct3D 10 device.
flags
A bit-field that is used to specify usage information. May be CL_MEM_READ_ONLY, CL_MEM_WRITE_ONLY, or CL_MEM_READ_WRITE. (See the table for clCreateBuffer for more information.)
resource
A pointer to the Direct3D 10 buffer to share.
errcode_ret
An appropriate error code. If errcode_ret
is NULL, no error code is returned.
The size of the returned OpenCL buffer object is the same as the size of resource
.
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.
Returns CL_SUCCESS returns a valid non-zero OpenCL buffer object and
errcode_ret
is set to CL_SUCCESS if the buffer
object is created successfully. Otherwise, it returns a NULL value with one of the following
error values returned in errcode_ret
:
context
is not a valid context.
flags
are
not valid.
resource
is not
a Direct3D 10 buffer resource, if resource
was created with the
D3D10_USAGE flag D3D10_USAGE_IMMUTABLE, if a cl_mem from resource has already been created
using clCreateFromD3D10BufferKHR
, or if context
was
not created against the same Direct3D 10 device from which resource
was created.
cl_khr_d3d10_sharing, clGetDeviceIDsFromD3D10KHR, clCreateFromD3D10Texture2DKHR, clCreateFromD3D10Texture3DKHR, clEnqueueAcquireD3D10ObjectsKHR, clEnqueueReleaseD3D10ObjectsKHR