詳しくは「表:イメージ情報の取得関数」(表B.128「表:イメージ情報の取得関数」)を参照ください。
ソースコードの設計にもよりますが、ホストAPI内ではなく、カーネル内でイメージの高さや幅、イメージチャンネルのデータ型を取得したいことが頻繁にあるかと思います。
以下は2次元イメージの幅を取得する関数です。
int get_image_width ( image2d_t image)
整数型で幅の値が戻ります。2次元イメージの高さを取得する関数は以下になります。
int get_image_height ( image2d_t image)
整数型で高さの値が戻ります。2次元イメージのデータ型の種類(例:CLK_UNORM_INT8)やチェネル順序(例:CLK_RGBA)を取得する関数は以下となります。
int get_image_channel_data_type ( image2d_t image) int get_image_channel_order ( image2d_t image)
もちろん3次元の奥行きを取得する関数もあります。
int get_image_depth ( image3d_t image)
1次元、2次元配列等のイメージデータに対応した関数のリストを見たい場合は「表:イメージ情報の取得関数」(表B.128「表:イメージ情報の取得関数」)を参照ください。
「表:イメージチャンネルのマッピング」(表B.129「表:イメージチャンネルのマッピング」)を参照ください。
read_imageで戻された色彩値へイメージチャンネルをマップ。write_imageに渡された色彩値をイメージチャンネルにマップします。
例えば頻繁に使うマップは以下のようになります。
4つの要素がない場合は、0.0や1.0を適宜に代入(マップ)しています。
Copyright 2018-2019, by Masaki Komatsu