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
ftp://ftp-developer.amd.com…
1.2betaがあります
vista版もあるようですね
リンク先がみつからない?と思ったら 1.2beta がリリースされていました。
これで vista でも簡単に使えるようになります。
ドキュメントも結構更新されていますね。
ありがとうございます。