for 陳述式

根據條件運算式的評估,反復執行一系列語句。

[Attribute] ( Initializer;條件;反覆運算器 ) { 語句區塊; }

參數

屬性

選擇性參數,可控制語句的編譯方式。 如果未指定任何屬性,則編譯器會先嘗試發出迴圈的復原版本,如果失敗,或者如果取消註冊迴圈,某些作業會比較容易,將會回復為未註冊的迴圈版本。

屬性 Description
unroll (x) 取消註冊迴圈,直到停止執行為止。 可以選擇性地指定迴圈執行的次數上限。 與 [loop] 屬性不相容。
loop 產生使用流程式控制制來執行迴圈每個反復專案的程式碼。 與 [unroll] 屬性不相容。
fastopt 減少編譯時間,但產生較不積極優化。 如果您使用這個屬性,編譯器將不會取消註冊迴圈。
此屬性只會影響支援 中斷 指令的著色器模型目標。 此屬性適用于著色器模型 vs_2_x著色器模型 3 和更新版本。 編譯器編譯迴圈時,著色 器模型 4 和更新版本特別有用。 編譯器預設會模擬迴圈,以評估它是否可以取消註冊。 如果您不想讓編譯器取消註冊迴圈,請使用這個屬性來減少編譯時間。
allow_uav_condition 允許計算著色器迴圈終止條件以 UAV 讀取為基礎。 迴圈不得包含同步處理內建函式。

初始 化

迴圈計數器的初始值。

條件

條件 運算式。 如果條件運算式評估為 true,則會執行語句區塊。 當運算式評估為 false 時,迴圈就會結束。

迭 代

更新迴圈計數器的值。

語句區塊

一或多個 HLSL 語句

備註

[unroll][loop]屬性互斥,而且會在兩者都指定時產生編譯器錯誤。

如果指定 [unroll] ,則會忽略[fastopt][allow_uav_condition]屬性。

另請參閱

流程式控制制