9.11. サンプラーオブジェクト

カーネルでイメージを読み込む際に、サンプラーオブジェクトはイメージのサンプリングのしかたを記述します。

カーネル内でイメージを読み込むための組込み関数はサンプラーを引数としてとります。

イメージ読み込み関数で使うサンプラー引数はOpenCL関数で生成したサンプラーオブジェクトで、カーネルに引数として渡すことができ、サンプラーをカーネルで宣言することもできます。

9.11.1. clCreateSampler

clCreateSampler関数はサンプラオブジェクトを生成します。

注記

詳しくは「表:clCreateSampler」(表B.53「表:clCreateSampler」)を参照ください。

cl_sampler org.jocl.CL.clCreateSampler(
    cl_context context, //(1)
    boolean normalized_coords, //(2)
    int addressing_mode, //(3)
    int filter_mode, //(4)
    int[] errcode_ret) //(5)

(1)

有効なOpenCLコンテキストを指定。

(2)

イメージ座標が正規化されるかどうか決定。

(3)

イメージから読み込む際に範囲外イメージ座標が処理される方法を指定。

(4)

イメージから読み込む際に適用されるフィルター型を指定。

(5)

適切なエラーコードを戻す

normalized_coords
イメージ座標が正規化されるかどうか決定。(CL_TRUEで正規化、CL_FALSEで非正規化)
addressing_mode

イメージから読み込む際に範囲外イメージ座標が処理される方法を指定。以下の値をとる。

  • CL_ADDRESS_MIRRORED_REPEAT
  • CL_ADDRESS_REPEAT
  • CL_ADDRESS_CLAMP_TO_EDGE
  • CL_ADDRESS_CLAMP
  • CL_ADDRESS_NONE
filter_mode

イメージから読み込む際に適用されるフィルター型を指定。次の値のいずれかをとる。

  • CL_FILTER_NEAREST
  • CL_FILTER_LINEAR

9.11.2. clRetainSampler

clRetainSampler関数はサンプラーの参照カウントをインクリメント。暗黙的リテインをする。

注記

詳しくは「表:clRetainSampler」(表B.54「表:clRetainSampler」)を参照ください。

9.11.3. clReleaseSampler

clReleaseSampler関数はサンプラーの参照カウントをデクリメント。サンプラーオブジェクトは参照カウントが0になり、コマンドキューに挿入されたサンプラを使うコマンドの実行が終了すると削除されます。

注記

「表:clReleaseSampler」(表B.55「表:clReleaseSampler」)を参照ください。

9.11.4. clGetSamplerInfo

clGetSamplerInfo関数はサンプラーオブジェクトについての情報を取得します。

注記

詳しくは「表:clGetSamplerInfo」(表B.56「表:clGetSamplerInfo」)と「表:cl_sampler_info」(表B.57「表:cl_sampler_info」)を参照ください。

int org.jocl.CL.clGetSamplerInfo(
    cl_sampler sampler, //(1)
    int param_name, //(2)
    long param_value_size, //(3)
    Pointer param_value, //(4)
    long[] param_value_size_ret) //(5)

(1)

サンプラーを指定。

(2)

取得する情報を指定。

(3)

param_valueが指すメモリのサイズをバイトで指定。

(4)

param_nameに指定した情報についての値が返されるメモリ空間へのポインタ

(5)

param_valueにコピーされるデータの実際のサイズをバイトで戻す。

9.11.5. cl_sampler_info

注記

詳しくは「表:clGetSamplerInfo」(表B.56「表:clGetSamplerInfo」)と「表:cl_sampler_info」(表B.57「表:cl_sampler_info」)を参照ください。

Copyright 2018-2019, by Masaki Komatsu