Shader Model 2.0のHLSLシェーダで次のforループをコンパイルすると、エラーX3511が発生します。Shader Model 2.0のHLSL forループ:エラーX3511がループをアンロールできない
for (int x = -5; x <= 5; x++)
{
for (int y = -5; y <= 5; y++)
{
...
次のようにエラーが読み取る:ループをアンロールすることができ、ループは、タイムリーに(5回の反復)で終端するように見える[アンロール(N)]を使用して正確なより高い数を強制的に属性はありません。
私はこのエラーメッセージを認識していますが、for文の条件付き部分に変数を使用していません。これはハードコードされたx < = 5の条件です。ここで何が間違っていますか?
ありがとうございます!
私は2番目のforループを削除していたときにそれをコンパイルします。 So:HLSLのネストされたループはありませんか? – barnacleboy
ネストされたループで動作するかどうかはわかりませんが、属性の反復回数を増やしてみましたか?野生の推測として、両方のループの 'unroll(11) 'がうまくいくでしょうか? –
残念ながら、Shader Model 2.0でコンパイルするときにアンロールを使用することはできません。私は画像処理アプリケーションで作業しているので、アプリケーションが少なくともWindows XPで動作できることを確認したい。 – barnacleboy