clCreateBuffer
About
バッファオブジェクトを生成します。
- Original Reference
C/C++
cl_mem clCreateBuffer (cl_context context, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errcode_ret)
C#
IntPtr clCreateBuffer (IntPtr context, uint flags, uint size, IntPtr host_ptr, out int errcode_ret);
Args
- context
- 有効な OpenCL コンテキストを指定します。
- flags
- バッファとして利用されるメモリ領域や、その利用方法を指定します。
- size
- バッファとして確保する領域の大きさをbyte単位で指定します。
- host_ptr
- 確保済みのバッファへのポインタを指定します。host_ptr が示すバッファの大きさは、size で指定したバッファの大きさ以上の大きさである必要があります。
- errcode_ret
- エラーコードの出力先を指定します。NULL のとき、エラーコードは返されません。
Return
実行に成功したとき、有効でゼロでないバッファオブジェクトを返し、errcode_ret に CL_SUCCESS を設定します。 実行に失敗したとき、NULL を返し、errcode_ret に次のうち1つのエラーを設定します。
- CL_INVALID_CONTEXT
- context に無効な値が指定されたとき。
- CL_INVALID_VALUE
- flags に無効な値が指定されたとき。
- CL_INVALID_BUFFER_SIZE
- size が 0 のとき。または、size が context に含まれるデバイスの CL_DEVICE_MAX_ALLOC_SIZE の値より大きいとき。
- CL_INVALID_HOST_PTR
- host_ptr が NULL で CL_MEM_USE_HOST_PTR または CL_MEM_COPY_HOST_PTR が flags に指定されているとき。または、host_ptr に NULL 以外の値が指定されていて、CL_MEM_COPY_HOST_PTR や CL_MEM_USE_HOST_PTR が設定されないとき。
- CL_MEM_OBJECT_ALLOCATION_FAILURE
- バッファオブジェクトのメモリ領域の確保に失敗したとき。
- CL_OUT_OF_RESOURCES
- デバイス上でリソースの確保、割り当てに失敗したとき。
- CL_OUT_OF_HOST_MEMORY
- ホスト上でリソースの確保、割り当てに失敗したとき。