表B.124 表:サンプラの状態
Samplerの状態(state) | 詳細  |
---|---|
座標<normalized coords>  | x,y,zの座標が正規化 されたか、非正規化され た値かを指定します。この 状態はリテラル値で以下の 2つのenum値のどちらか になります。 CLK_NORMALIZED_ COORDS_TRUE CLK_NORMALIZED_ COORDS_FALSE read_image {f|i|ui} を複数回 呼び出すsamplerでは、 <normalized coords> に同じ値をいれる必要が あります。 |
アドレス<addressing mode> | イメージのアドレスモード を指定します。例えば範囲 外のイメージ座標の処理方 法です。この状態はリテラ ル値で以下の5つのenum値 のどちらかになります。 CLK_ADDRESS_ MIRRORED_REPEAT CLK_ADDRESS_ REPEAT CLK_ADDRESS_ CLAMP_TO_EDGE CLK_ADDRESS_ CLAMP CLK_ADDRESS_ NONE 1次元、2次元のイメージ アレイでは、アドレスモード はxまたは(x,y)座標に 適用されます。アレイの添字 を指定する場合は常にCLK_ ADDRESS_CLAMP_TO_EDGE モードを使います。 |
フィルター<filter mode> | フィルターモードを指 定します。この状態はリ テラル値で以下の2つの enum値のどちらかになります。 CLK_FILTER_ NEAREST CLK_FILTER_ LINEAR |
表B.125 表:イメージ読み込み・書き込み関数
関数 | 詳細 |
---|---|
float4 read_imagef (image2d_t image, sampler_t sampler, int2 coord) float4 read_imagef (image2d_t image, sampler_t sampler, float2 coord) | 座標(coord.x, coord.y) を使い2次元イメージオブジェ クトの要素ルックアップをします。 image_channel_data_ typeがCL_UNORM_INT8 かCL_UNORM_INT16のい ずれかに指定されて生成 されたイメージオブジェク トにおいて、[0.0 ... 1.0] の範囲の浮動小数点の値 を返します。 image_channel_data_ typeがCL_SNORM_INT8か CL_SNORM_INT16のいずれ かに指定されて生成された イメージオブジェクトにお いて、[-1.0 ... 1.0]の 範囲の浮動小数点の値を返 します。 image_channel_data_ typeがCL_HALF_FLOATか CL_FLOATのいずれかに指定 されて生成されたイメージ オブジェクトにおいて、浮動 小数点の値を返します。 整数の座標を扱う呼び出し では、フィルターモードが CLK_FILTER_NEAREST、 座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_ CLAMP_TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONEの いずれかに指定している 必要があります。 |
int4 read_imagei ( image2d_t image, sampler_t sampler, int2 coord) int4 read_imagei ( image2d_t image, sampler_t sampler, float2 coord) uint4 read_imageui ( image2d_t image, sampler_t sampler, int2 coord) uint4 read_imageui ( image2d_t image, sampler_t sampler, float2 coord) | 座標(coord.x, coord.y) を使い2次元イメージオブジェ クトの要素ルックアップをします。 read_imageiは正規化した 符号付き、read_imageui は符号無しの整数値を返し ます。各チャンネルは32ビッ ト整数に保存されます。 read_imageiはimage_ channel_data_typeが CL_SIGNED_INT8 CL_SIGNED_INT16 CL_SIGNED_INT32 のいずれかに指定されたイメ ージオブジェクトにたいして 使うことができます。 read_imageuiはimage_ channel_data_typeが CL_UNSIGNED_INT8 CL_UNSIGNED_INT16 CL_UNSIGNED_INT32 のいずれかに指定されたイメ ージオブジェクトにたいして 使うことができます。 read_image{i|ui}のコー ルはCLK_FILTER_NEAREST のみをサポートします。 整数の座標を扱うread_image {i|ui}の呼び出しでは、 座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_CLAMP_ TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONEの いずれかに指定している 必要があります。 |
float4 read_imagef ( image3d_t image, sampler_t sampler, int4 coord ) float4 read_imagef ( image3d_t image, sampler_t sampler, float4 coord) | 座標(coord.x, coord.y, coord.z)を使い3次元イメージ オブジェクトの要素ルックアッ プをします。coord.wは使わ れません。 image_channel_data_ typeがCL_UNORM_INT8か CL_UNORM_INT16のいずれ かに指定されて生成された イメージオブジェクトにお いて、[0.0 ... 1.0]の 範囲の浮動小数点の値を返 します。 image_channel_data_ typeがCL_SNORM_INT8か CL_SNORM_INT16のいずれ かに指定されて生成された イメージオブジェクトにおい て、[-1.0 ... 1.0]の 範囲の浮動小数点の値を返 します。 image_channel_data_ typeがCL_HALF_FLOATか CL_FLOATのいずれかに指 定されて生成されたイメー ジオブジェクトにおいて、 浮動小数点の値を返します。 整数の座標を扱う呼び出し では、フィルターモードが CLK_FILTER_NEAREST、 座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_CLAMP_ TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONE のいずれかに指定してい る必要があります。 |
int4 read_imagei ( image3d_t image, sampler_t sampler, int4 coord) int4 read_imagei ( image3d_t image, sampler_t sampler, float4 coord) uint4 read_imageui ( image3d_t image, sampler_t sampler, int4 coord) uint4 read_imageui ( image3d_t image, sampler_t sampler, float4 coord) | 座標(coord.x, coord.y, coord.z)を使い3次元イメー ジオブジェクトの要素ルック アップをします。 read_imageiは正規化した 符号付き、read_imageuiは 符号無しの整数値を返します。 各チャンネルは32ビット整数 に保存されます。 read_imageiはimage_ channel_data_typeが CL_SIGNED_INT8 CL_SIGNED_INT16 CL_SIGNED_INT32 のいずれかに指定された イメージオブジェクトにた いして使うことができます。 read_imageuiはimage_ channel_data_typeが CL_UNSIGNED_INT8 CL_UNSIGNED_INT16 CL_UNSIGNED_INT32 のいずれかに指定されたイメ ージオブジェクトにたいして 使うことができます。 read_image{i|ui}の コールは CLK_FILTER_NEAREST のみをサポートします。 整数の座標を扱うread_image {i|ui}の呼び出しでは、 座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_CLAMP_ TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONE のいずれかに指定して いる必要があります。 |
float4 read_imagef ( image2d_array_t image, sampler_t sampler, int4 coord) float4 read_imagef ( image2d_array_t image, sampler_t sampler, float4 coord) | 座標coord.xyを使い、 imageが指定する2次元 イメージアレイのcoord.zで 特定される2次元イメージの 要素ルックアップをします。 image_channel_data_ typeがCL_UNORM_INT8か CL_UNORM_INT16のいずれか に指定されて生成されたイ メージオブジェクトにおいて、 [0.0 ... 1.0]の範囲の浮 動小数点の値を返します。 image_channel_data_ typeがCL_SNORM_INT8か CL_SNORM_INT16のいずれ かに指定されて生成された イメージオブジェクトにお いて、[-1.0 ... 1.0]の 範囲の浮動小数点の値を返 します。 image_channel_data_ typeがCL_HALF_FLOAT かCL_FLOATのいずれかに 指定されて生成されたイ メージオブジェクトにおい て、浮動小数点の値を返 します。 整数の座標を扱う呼び出し では、フィルターモードが CLK_FILTER_NEAREST、 座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_ CLAMP_TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONE のいずれかに指定している必要があります。 |
int4 read_imagei ( image2d_array_t image, sampler_t sampler, int4 coord) int4 read_imagei ( image2d_array_t image, sampler_t sampler, float4 coord) uint4 read_imageui ( image2d_array_t image, sampler_t sampler, int4 coord) uint4 read_imageui ( image2d_array_t image, sampler_t sampler, float4 coord) | 座標coord.xyを使い、 imageが指定する2次元 イメージアレイのcoord.z で特定される2次元イメージ の要素ルックアップをします。 read_imageiは正規化 した符号付き、read_imageui は符号無しの整数値を返します。 各チャンネルは32ビット整数 に保存されます。 read_imageiはimage_ channel_data_typeが CL_SIGNED_INT8 CL_SIGNED_INT16 CL_SIGNED_INT32 のいずれかに指定された イメージオブジェクトにた いして使うことができます。 read_imageuiはimage_ channel_data_typeが CL_UNSIGNED_INT8 CL_UNSIGNED_INT16 CL_UNSIGNED_INT32 のいずれかに指定された イメージオブジェクトにた いして使うことができます。 read_image{i|ui}の コールはCLK_FILTER_ NEARESTのみをサポートします。 整数の座標を扱う read_image{i|ui}の 呼び出しでは、座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_CLAMP_ TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONE のいずれかに指定して いる必要があります。  |
float4 read_imagef ( image1d_t image, sampler_t sampler, int coord) float4 read_imagef ( image1d_t image, sampler_t sampler, float coord) | 座標coordを使い1次元 イメージオブジェクトの要 素ルックアップをします。 image_channel_data_ typeがCL_UNORM_INT8か CL_UNORM_INT16のいずれ かに指定されて生成された イメージオブジェクトにお いて、[0.0 ... 1.0]の 範囲の浮動小数点の値を返 します。 image_channel_data_ typeがCL_SNORM_INT8か CL_SNORM_INT16のいずれ かに指定されて生成された イメージオブジェクトにお いて、[-1.0 ... 1.0]の 範囲の浮動小数点の値を 返します。 image_channel_data_ typeがCL_HALF_FLOATか CL_FLOATのいずれかに指 定されて生成されたイメー ジオブジェクトにおいて、 浮動小数点の値を返します。 整数の座標を扱う呼び出し では、フィルターモードが CLK_FILTER_NEAREST、 座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_CLAMP_ TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONE のいずれかに指定して いる必要があります。 |
int4 read_imagei ( image1d_t image, sampler_t sampler, int coord) int4 read_imagei ( image1d_t image, sampler_t sampler, float coord) uint4 read_imageui ( image1d_t image, sampler_t sampler, int coord) uint4 read_imageui ( image1d_t image, sampler_t sampler, float coord) | 座標coordを使い1次元 イメージオブジェクトの要素 ルックアップをします。 read_imageiは正規化した 符号付き、read_imageui は符号無しの整数値を返しま す。各チャンネルは32ビット 整数に保存されます。 read_imageiはimage_ channel_data_typeが CL_SIGNED_INT8 CL_SIGNED_INT16 CL_SIGNED_INT32 のいずれかに指定された イメージオブジェクトにたい して使うことができます。 read_imageuiはimage_ channel_data_typeが CL_UNSIGNED_INT8 CL_UNSIGNED_INT16 CL_UNSIGNED_INT32 のいずれかに指定された イメージオブジェクトにたい して使うことができます。 read_image{i|ui}の コールは CLK_FILTER_NEAREST のみをサポートします。 整数の座標を扱う read_image{i|ui} の呼び出しでは、座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_CLAMP_ TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONE のいずれかに指定して いる必要があります。 |
float4 read_imagef ( image1d_array_t image, sampler_t sampler, int2 coord) float4 read_imagef ( image1d_array_t image, sampler_t sampler, float2 coord) | 座標coord.xを使い、 imageが指定する1次元 イメージアレイのcoord.y で特定される1次元イメージ の要素ルックアップをします。 image_channel_data_ typeがCL_UNORM_INT8か CL_UNORM_INT16のいずれ かに指定されて生成された イメージオブジェクトにお いて、[0.0 ... 1.0]の 範囲の浮動小数点の値を返 します。 image_channel_data_ typeがCL_SNORM_INT8か CL_SNORM_INT16のいずれ かに指定されて生成された イメージオブジェクトにお いて、[-1.0 ... 1.0]の 範囲の浮動小数点の値を返します。 image_channel_data_ typeがCL_HALF_FLOATか CL_FLOATのいずれかに指 定されて生成されたイメー ジオブジェクトにおいて、 浮動小数点の値を返します。 整数の座標を扱う呼び出し では、フィルターモードが CLK_FILTER_NEAREST、 座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_CLAMP_ TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONE のいずれかに指定してい る必要があります。 |
int4 read_imagei ( image1d_array_t image, sampler_t sampler, int2 coord) int4 read_imagei ( image1d_array_t image, sampler_t sampler, float2 coord) uint4 read_imageui ( image1d_array_t image, sampler_t sampler, int2 coord) uint4 read_imageui ( image1d_array_t image, sampler_t sampler, float2 coord) | 座標coord.xを使い、image が指定する1次元イメージア レイのcoord.yで特定される 1次元イメージの要素ルック アップをします。 read_imageiは正規化した 符号付き、read_imageuiは 符号無しの整数値を返します。 各チャンネルは32ビット整数 に保存されます。 read_imageiはimage_ channel_data_typeが CL_SIGNED_INT8 CL_SIGNED_INT16 CL_SIGNED_INT32 のいずれかに指定された イメージオブジェクトにた いして使うことができます。 read_imageuiはimage_ channel_data_typeが CL_UNSIGNED_INT8 CL_UNSIGNED_INT16 CL_UNSIGNED_INT32 のいずれかに指定された イメージオブジェクトにた いして使うことができます。 read_image{i|ui}の コールは CLK_FILTER_NEAREST のみをサポートします。 整数の座標を扱うread_ image{i|ui}の呼び出 しでは、座標モードは CLK_NORMALIZED_ COORDS_FALSE、 アドレスモードは CLK_ADDRESS_CLAMP_ TO_EDGE, CLK_ADDRESS_CLAMP、 CLK_ADDRESS_NONE のいずれかに指定している必要があります。 |
Copyright 2018-2019, by Masaki Komatsu