共用方式為


WGF11 點陣化程式

此自動化測試會驗證 D3D 基本點陣化和點陣化狀態的各種層面,如硬體所實作。

本主題適用于下列測試作業:

  • WGF11 轉譯器

  • WGF11 轉譯器 (WoW64)

測試詳細資料

   
規格
  • Device.Graphics.AdapterRender.D3D111Core.D3D111CorePrimary
  • Device.Graphics.AdapterRender.D3D11Core.D3D11CorePrimary
  • Device.Graphics.AdapterRender.D3D101Core.D3D101CorePrimary
  • Device.Graphics.AdapterRender.D3D10Core.D3D10CorePrimary
平台
  • Windows 10,用戶端版本 (x86)
  • Windows 10,用戶端版本 (x64)
  • Windows Server 2016 (x64)
  • Windows 10,用戶端版本 (Arm64)
支援的版本
  • Windows 10
  • Windows 10 (版本 1511)
  • Windows 10 (版本 1607)
  • Windows 10 (版本 1703)
  • Windows 10 (版本 1709)
  • Windows 10 (版本 1803)
  • Windows 10 版本 1809
  • Windows 10 (版本 1903)
  • Windows 10的下一個更新
預期執行時間 (分鐘) 2
類別 相容性
) 分鐘 (逾時 120
需要重新開機 false
需要特殊設定 false
類型 automatic

 

其他檔

此功能區域中的測試可能會有其他檔,包括必要條件、設定和疑難排解資訊,可在下列主題中找到 () :

執行測試

執行測試之前,請完成測試設定,如測試需求中所述: 圖形配接器或晶片組測試必要條件

疑難排解

如需 HLK 測試失敗的一般疑難排解,請參閱 針對 Windows HLK 測試失敗進行疑難排解

如需疑難排解資訊,請參閱 針對 Device.Graphics Testing 進行疑難排解

所有測試案例都會傳回 PASS 或 FAIL。 如需失敗的特定詳細資料,請檢閱記錄檔中的測試結果。 如果測試是以不支援所測試功能的功能層級執行,測試可能會傳回 SKIP。 如果發生未攔截的例外狀況, (架構會在結尾攔截它,並將它記錄) ,則測試可能會傳回 BLOCKED。

詳細資訊

針對 D3D10 和更新版本,此測試會驗證下列各項:

  • 根據點陣化狀態的基本擷取、填滿模式和彎曲順序。

  • 圖元著色器中的插補模式

    • 常數模式很簡單,因為從頂點著色器傳送的值沒有任何變更。

    • 由於它並非嚴格規格,因此會藉由確保相鄰圖元不相等,並遵循邊緣的漸層來驗證線性模式。

  • 取樣頻率圖元著色器調用 (D3D10.1 和更新版本) 。

針對 D3D11,此測試會驗證提取模型屬性評估。

下列內建函式將導入 D3D11 (HLSL 5.0) ,以取得提取模型屬性評估的功能:

  • EvaluateAttributeSnapped ( attrib 數值,int2 pixeloffset )

  • EvaluateAttributeAtSample ( attrib 數值,uint sampleindex )

  • EvaluateAttributeAtCentroid ( attrib 數值)

針對每個內建函式,會產生一組圖元著色器,以內建函式參數值的不同組合和輸入屬性的宣告插補模式為目標。

以下是這三個內建函式的測試因素:

  • 從頂點著色器傳遞的輸入屬性。

    注意

       只能插入 float 類型屬性;int/uint 類型一律為常數插補模式

     

    • float4 texCoord : TEXCOORD

    • float4 色彩: COLOR

    • float clipDis : SV_ClipDistance

  • 插補模式的宣告。

    注意

       當在著色器中使用提取模型評估對應的屬性時,HLSL 編譯器不允許 Nointerpolation 模式。

     

    • linear

    • 線性 noPerspective

    • 線性距心

    • 線性範例

    • 線性 noPerspectivecentid

    • 線性 noPerspective 範例

  • 要繪製的基本類型:

    • 當插補模式為線性時,將會繪製三角形 C1-C2-C3,如下所示。 這涵蓋一個整圖元和兩半圖元。 投影空間中頂點的座標如下:

      <在這裡需要影像

      C1: (-1、1、0) 、C2 (-1、-1、0) 、C3 (1、1、0) 。

      正方形內的右三角形,頂點為 C1、C2 和 C3;C1 會形成 90 度的角度,而且位於方形的左上角

  • 當插補模式為 noperspective 時,將會繪製投影空間中具有下列頂點座標的三角形 A-B-C:

    A: (-1, 1, 1) ;

    B: (-1、-1、0) ;

    C: (1、1、1)

    螢幕空間三角形應該涵蓋上述三角形 C1-C2-C3 相同的圖元和圖元區域。

  • 轉譯目標

    • 格式:支援轉譯目標的所有格式。

    • 範例計數:1、2、...支援的樣本計數上限。

EvaluateAttributeSnapped ( ) 的不同 pixeloffset 值

理想情況下,所有可能的 256 位移位置。 如果測試執行太長,此測試案例群組將會縮減為 4 個角落位置、8 個框線位置、4 個位置從 4x4 格線、4 個位置從 8x8 格線,以及 16x16 方格的 4 個位置。

EvaluateAttributeAtSample ( ) 的不同 sampleindex 值

轉譯目標支援的所有範例索引

當圖元著色器將插補屬性值寫入轉譯目標時,驗證方法就會開始。 然後,轉譯目標資料會對應並讀出。在多重取樣轉譯目標的情況下,必須先進行多重取樣解析,再進行對應。 結果資料會與預先計算的內插補點資料進行比較,或從直接存取屬性取得的資料。

  1. 當內插補點模式為線性 noperspective 時:

    1. 計算並儲存插補 (,並針對 p2 和 p3 的發現區域) 值計算並儲存 p1、p2、p3 每個圖元的 256 位移位置。

    2. 針對 EvaluateAttributeSnapped :

      • 圖元 p1 應該在左右 (的預期值之間有「提取」屬性值,以及「提取」位移的鄰近) 鄰近位移。

      • 圖元 p2 和 p3:

        在單一取樣的案例中,不應該轉譯它們。

        在多重取樣的情況下,它們應該在左右 (的預期值之間,以及「提取」位移的鄰近位移) 相鄰位移之間「提取」屬性值。

    3. 針對具有 SampleFinder 的 EvaluateAttributeAtSample,請在樣本座標系統上尋找樣本索引的位置,範圍為 [-8, 7]。 使用這個位置以與上述 EvaluateAttributeSnapped 相同的方式進行驗證。

    4. 針對 EvaluateAttributeAtCentroid,使用 SV_COVERAGE 繪製三角形 C1-C2-C3 來找出第一個涵蓋的樣本,這是著色器模型 5.0 所定義的距心位置。 使用 centoid 的範例索引,以與上述 EvaluateAttributeAtSample 相同的方式執行驗證。

  2. 當插補模式為線性時:

    1. 使用檢視方塊正確的插補點,計算並儲存插入 (,並針對每個圖元的 256 位移位置,針對 p2 和 p3 的發現區域) 值進行推斷。 插入已除以個別深度值的屬性值,然後將插補屬性值除以深度的相互插補值。

    2. 針對 EvaluateAttributeSnapped () ,請使用與 2.a 相同的驗證。

    3. 針對 EvaluateAttributeAtCentroid () ,請使用與 2.c 相同的驗證。

    4. 針對 EvaluateAttributeAtSample () ,請使用與 2.b 相同的驗證。

  3. 使用 PSInvocation 來驗證所有測試案例的 PS 調用數目。

    1. 如果宣告了任何屬性的樣本插補模式或SV_SAMPLEINDEX,而且樣本計數大於 1,PSInvocation 應為 3* (樣本計數) 。

    2. 當樣本計數為 1 時,PSInvocation 應該是 1。

命令語法

命令選項 描述

Wgf11rasterizer

執行測試作業。 如果沒有任何選項,測試就會列舉裝置。

-FeatureLevel:XX.X

設定功能層級,其中 XX.X 是測試將在下列位置執行的功能層級:10.0、10.1 或 11.0。

注意

   如需此測試二進位檔的命令列說明,請輸入 /?

 

檔案清單

檔案 位置

Configdisplay.exe

< [testbinroot] >\nttest\windowstest\tools\

D3d11_1sdklayers.dll

< [testbinroot] >\nttest\windowstest\graphics\d3d\support\

D3d11ref.dll

< [testbinroot] >\nttest\windowstest\graphics\d3d\support\

D3d11sdklayers.dll

< [testbinroot] >\nttest\windowstest\graphics\d3d\support\

D3dcompiler_test.dll

< [testbinroot] >\nttest\windowstest\graphics\d3d\support

D3dx10_test.dll

< [testbinroot] >\nttest\windowstest\graphics\d3d\support\

d3dx11_test.dll

< [testbinroot] >\nttest\windowstest\graphics\d3d\support\

TDRWatch.exe

< [testbinroot] >\nttest\windowstest\graphics\

Wgf11rasterizer.exe

< [testbinroot] >\nttest\windowstest\graphics\d3d\conf

 

參數

參數名稱 參數描述
MODIFIEDCMDLINE 測試可執行檔的其他命令列引數
LLU_NetAccessOnly LLU NET 使用者的名稱
ConfigDisplayCommandLine ConfigDisplay 的自訂命令列。 預設值:標誌
TDRArgs /get 或 /set