取樣器意見反應查詢與寫入
取樣器意見反應查詢與寫入作業的高層次概觀如下。- 紋理取樣作業由場景紋理的著色器資源檢視與取樣器狀態、輸入的 UV(W) 座標,以及透過內插計算的 UV(W) 梯度所定義。若是在非像素著色器階段中進行紋理取樣,則會提供 mip 層級索引而非梯度。
- 紋理定址硬體會計算紋理取樣模式,其中包含一或多個樣本,每個樣本都包含絕對紋理座標與 mip 層級索引。
- 每個紋理樣本的絕對座標都會轉換為相對於意見反應對應的絕對座標。
- 紋理樣本集會以兩種方式之一合併在一起。
- 合併後的紋理樣本集會使用不可部分完成 (atomic) 語意寫入意見反應對應。

MipRegionUsed 意見反應對應 (如圖 2 所示) 定義為與紋理配對的具 mip 紋理。它與配對紋理具有相同的資源維度,例如,具有 mipmap 之陣列紋理的 MipRegionUsed 意見反應對應是具有 mipmap 的陣列紋理。具有 mipmap 之體積紋理的 MipRegionUsed 意見反應對應是具有 mipmap 的體積紋理。MipRegionUsed 意見反應對應中的每個紋素都是一組旗標,表示在該區域內配對紋理中的該位置是否被取樣。MipRegionUsed 意見反應對應紋素使用 8 位元元素格式,並在每個元素中記錄取樣旗標。一個 MipRegionUsed 意見反應對應紋素的區域大小是配對紋理維度的 2 的乘冪分數。
當取樣器意見反應硬體作業寫入 MipRegionUsed 意見反應對應時,會使用不可部分完成的 OR 作業對取樣旗標執行寫入。若要收集準確的意見反應,必須在寫入意見反應之前,將所有 MipRegionUsed 意見反應對應紋素初始化為零。
意見反應對應的硬體程式設計
GPU 中的著色器引擎實作了數十種影像取樣指令的變體,每種變體都包含或排除各種選項,例如使用者指定的梯度與 LOD 限制。取樣器意見反應原本會成為所有這些現有作業的另一種變體。然而,取樣器意見反應並非將著色器作業碼的數量加倍,而是使用一種經過特殊編碼、稱為_連結資源_的影像描述元來啟動。當紋理定址 (TA) 硬體看到輸入影像描述元中的連結資源狀態時,就會選取取樣器意見反應路徑,而非標準紋理取樣路徑。 連結資源描述元是透過下列步驟建構的。- 根據配對紋理的規格建構 (或複製) 影像描述元,包括配對紋理的資源類型 (例如 1D、2D、2D 陣列與 3D) 以及 UVW 維度、mip 與切片計數等。
- 透過設定旗標,並在個別欄位中選取連結資源類型 (MinMip 意見反應或 MipRegionUsed 意見反應),將描述元標示為連結資源。
- 意見反應對應維度儲存在一個欄位中。它會編碼為基底維度的 2 的乘冪分數。U 維度與 V 或 W 維度使用個別的分數。
- 對於 MinMip 意見反應對應,最大 mip 層級設定為 0 以移除 mip 鏈。
- MinMip 與 MipRegionUsed 意見反應對應的影像格式都是 R8_UINT。XBOX Series X|S GPU 能夠對位元組值執行不可部分完成的作業,而以往的 GPU 通常僅限於 32 位元的不可部分完成作業。取樣器意見反應硬體對 MinMip 意見反應對應使用 5.3 不帶正負號定點編碼。
- 驅動程式會為意見反應對應選取 SW_256B_S swizzle 模式,因為它的對齊限制最小,最適合像意見反應對應這樣的小型紋理。
取樣器意見反應硬體限制
取樣器意見反應具有下列硬體限制。- 不支援非零的整數紋素位移
- 不支援多重取樣消除鋸齒 (MSAA) 紋理 2D 影像
- 不支援未正規化的座標
- 不支援 Gather 取樣作業
MinMip 對應篩選
取樣器意見反應串流 (SFS) 引進了「MinMip 對應」的概念,為圖格紋理提供各區域的最小 LOD 限制,讓場景轉譯期間從該紋理取樣時,可以限制在常駐的圖格集內。MinMip 對應中的每個元素都代表圖格紋理中 UV 空間的一個區域,其值代表在整個區域中完全常駐的最大 mip 層級的 LOD 索引。 從圖格資源取樣時,MinMip 對應 (如圖 3 所示) 會用作相依紋理擷取的一部分。系統會使用 MinMip 對應篩選器與紋理 UV(W) 座標對 MinMip 對應取樣,產生篩選後的結果:這些 UV(W) 座標的 MinMip 限制值。接著會使用紋理取樣方法的每像素限制形式,以 MinMip 限制值從圖格紋理取樣。 圖 3. MinMip 對應表示法
硬體篩選器設計
XBOX Series X|S GPU 包含一個新的修改版雙線性篩選器,專為篩選 MinMip 對應而設計,用以取代 Direct3D 11 圖格資源所引進的「MIN 縮減」篩選器。這個新篩選器加入了 MIN 作業,可將相鄰紋素之間的雙線性轉換移入值較小之紋素的區域。此外,篩選器具有可設定的斜率與位移,可調整篩選器的視覺外觀。未來版本將在本節中新增更多詳細資料。
