AMD Stream SDK (2)

Global Buffer は Shader には無い機能で自由に書き込めますが、同時アクセスで
衝突します。2つの入力値を比較し、相違があった場合だけ値を書き込むような
使い方だと、1回の実行で結果を一カ所に集約できます。
コリジョン判定などに使えるかもしれません。

il_ps_2_0
dcl_input_position v0.xy
dcl_resource_id(0)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float)
dcl_resource_id(1)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float)
dcl_output_generic o0
sample_resource(0)_sampler(0) r0, v0.xy
sample_resource(1)_sampler(0) r1, v0.xy
eq r2.x, r0, r1
cmov g[0], r2.x, v0
mov o0, r2.x000
ret_dyn
end

コンパイル時のエラーは calclGetErrorString() で返ってきますが、
エラー行もわからずあまり意味のある情報が含まれていないので慣れるまで
デバッグは少々大変。

HLSL を使うには utilities\amdhlslCompiler を使います。
HLSL コンパイラ自体はただの lib で、amdhlslCompiler 以下でそのまま
実装されているようです。

関連エントリ
AMD Stream SDK

AMD Stream SDK (2)」への2件のフィードバック

  1. oga 投稿作成者

    リンク先がみつからない?と思ったら 1.2beta がリリースされていました。
    これで vista でも簡単に使えるようになります。
    ドキュメントも結構更新されていますね。
    ありがとうございます。

コメントは停止中です。