9.9. イメージオブジェクトのマッピング

9.9.1. clEnqueueMapImage

clEnqueueMapImage関数はイメージオブジェクトの領域からホストアドレス空間へのマップを行いマップされた領域へのポインタを戻すコマンドを挿入します。

注記

詳しくは「表:clEnqueueMapImage」(表B.49「表:clEnqueueMapImage」)と「表:cl_map_flags」(表B.50「表:cl_map_flags」)を参照ください。

ByteBuffer org.jocl.CL.clEnqueueMapImage(
    cl_command_queue command_queue, //(1)
    cl_mem image, //(2)
    boolean blocking_map, //(3)
    long map_flags, //(4)
    long[] origin, //(5)
    long[] region, //(6)
    long[] image_row_pitch, //(7)
    long[] image_slice_pitch, //(8)
    int num_events_in_wait_list, //(9)
    cl_event[] event_wait_list, //(10)
    cl_event event, //(11)
    int[] errcode_ret) //(12)

(1)

マップコマンドを挿入するコマンドキューを指定。

(2)

有効なイメージオブジェクトを指定。command_queueとimageと関連付けられたOpenCLコンテキストは同じとなる必要がある。

(3)

マップ操作を、ブロッキングで行うのかノンブロッキングで行うのかを指定。blocking_mapにCL_TRUEを指定すると、imageの指定した領域がホストアドレス空間にマップされるまでclEnqueueMapImageは戻らない。アプリケーションはclEnqueueMapImageから戻るポインタを使用してマップされた領域にアクセスできる。

(4)

マップの設定を行うビットフィールド。

(5)

1D、2D、3Dイメージ内の(x,y,z)オフセットをピクセルで指定。2Dイメージ配列内の(x,y)オフセットとイメージインデックスを指定。1Dイメージ配列内の(x)オフセットとイメージインデックスを指定。

(6)

1D、2D、3D矩形領域の(width, height, depth) をピクセルで定義。2D矩形領域の(width, height)をピクセルで定義し、2Dイメージ配列のイメージ個数の定義。1D矩形領域の(width)をピクセルで定義し、1Dイメージ配列のイメージ個数を定義。

(7)

マップされる領域での走査線の長さをバイトで返します。非NULLの値を指定する必要がある。

(8)

マップされる領域での3Dイメージの2Dスライスのサイズ、または1D/2Dイメージ、1D/2Dイメージ配列のサイズをバイトで戻す。imageが2Dイメージオブジェクトでこの引数がNULLでない場合、0が戻される。imageが3Dイメージオブジェクト、1D/2Dイメージ配列である場合

(9)

event_wait_list で指定したイベントオブジェクトの数を指定します。

(10)

このコマンドが実行される前に完了されているイベントを指定。event_wait_listがNULLの場合、このコマンドはどのイベントの完了待機もしない。

(11)

マップコマンドを識別するイベントオブジェクトが戻され、コマンド完了の確認やコマンド完了の待機に使える。eventがNULLの場合、アプリケーションはコマンドの状況確認やコマンド完了待ちができなくなる。

(12)

適切なエラーコードを返します。

9.9.2. cl_map_flags

注記

詳しくは「表:clEnqueueMapImage」(表B.49「表:clEnqueueMapImage」)と「表:cl_map_flags」(表B.50「表:cl_map_flags」)を参照ください。

Copyright 2018-2019, by Masaki Komatsu