Top > Programming > OpenCL > JpnReference > clCreateBuffer
Last-modified: Sun, 08 Sep 2013 20:03:12 JST
Counter:3149 Today:1 Yesterday:2 Online:2
このエントリーをはてなブックマークに追加

clCreateBuffer

About

バッファオブジェクトを生成します。

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
    • ホスト上でリソースの確保、割り当てに失敗したとき。