ps_3_0
可程式化的圖元著色器是由一組對圖元資料運作的指令所組成。 註冊在 ALU 中和移出傳輸資料。 您可以套用其他控制項來修改指令、結果或寫入的資料。
- ps_3_0指示 包含可用指示的清單。
- ps_3_0暫存器 會列出圖元著色器 ALU 所使用的不同類型的暫存器。
- 修飾 符 用來修改指令運作方式。
- 目的地暫存器寫入遮罩 會決定要寫入目的地暫存器哪些元件。
- 圖元著色器來源暫存器修飾詞 會在指令執行之前變更來源暫存器資料。
- Source Register Swizzling 可額外控制要讀取、複製或寫入的暫存器元件。
新功能
新增臉部暫存器。 新增位置暫存器。 色彩暫存器 (v#) 現在已完全浮點,且紋理座標暫存器已合併 (t#) 。 輸入宣告會採用使用方式名稱,並且允許指定暫存器元件使用多個用法。
動態流程式控制制
如果 bool - ps、break - ps和break_comp - ps) ,裝置支援動態流程 (控制。 巢狀深度的範圍從 0 到 24。
暫存暫存器數目
支援的暫存暫存器數目為 32。
靜態流程式控制制巢狀深度
呼叫 - ps/callnz /call_pred可以巢狀至最大深度 4。 獨立迴圈 - psrep - ps/ 指示可以巢狀至最大深度 4。
任意 Swizzle
支援任意的wizzle。 請參閱 來源暫存器。
漸層指示
支援漸層指示。 請參閱 dsx - ps、 dsy - ps和 texldd - ps。
預測
支援指令述詞。 請參閱 述詞暫存器。
相依讀取限制
沒有相依的讀取限制。
紋理指令限制
紋理指令沒有限制。
指令計數
每個圖元著色器都允許從 512 到 MaxPixelShader30InstructionSlots 中的插槽數目, (不超過 32768) 。 執行指令的數目可能會因為迴圈支援而更高。 MaxPShaderInstructionsExecuted 至少應該是 2^16。
取樣器計數
可用的紋理取樣器數目為 16。
裝置上限
如果支援ps_3_0,硬體 (至少支援下列上限) :
筆蓋 | 值 |
---|---|
MaxTextureWidth、MaxTextureHeight | 每個 4K 個 |
MaxTextureRepeat | 8K |
MaxAnisotropy | 16 |
PixelShaderVersion | 3_0 |
MaxPixelShader30InstructionSlots | 512 |
已設定下列基本上限: | D3DPMISCCAPS_BLENDOP、D3DPMISCCAPS_CLIPPLANESCALEDPOINTS、D3DPMISCCAPS_CLIPTLVERTS、D3DPMISCCAPS_CULLCCW、D3DPMISCCAPS_CULLCW、D3DPMISCCAPS_CULLNONE、D3DPMISCCAPS_FOGINFVF D3DPMISCCAPS_MASKZ |
已設定下列點陣上限: | D3DPRASTERCAPS_MIPMAPLODBIAS、D3DPRASTERCAPS_ANISOTROPY、D3DPRASTERCAPS_COLORPERSPECTIVE、D3DCAPS9 中的 D3DPRASTERCAPS_SCISSORTEST |
完整支援深度偏差,包括: | D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS、D3DPRASTERCAPS_DEPTHBIAS |
深度和 Alpha 測試的完整比較集,包括: | D3DCAPS9 中的所有 D3DPCMPCAPS。 |
來源混合模式 | 除了D3DPBLENDCAPS_SRCALPHASAT、D3DPBLENDCAPS_BOTHSRCALPHA和D3DPBLENDCAPS_BOTHINVSRCALPHA) 以外,所有混合模式都支援作為來源 (。 |
支援下列紋理上限: | D3DPTEXTURECAPS_CUBEMAP、D3DPTEXTURECAPS_MIPCUBEMAP、D3DPTEXTURECAPS_MIPMAP、D3DPTEXTURECAPS_MIPVOLUMEMAP、D3DPTEXTURECAPS_PERSPECTIVE、D3DPTEXTURECAPS_PROJECTED、D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE D3DPTEXTURECAPS_VOLUMEMAP |
紋理篩選端點、磁片區紋理篩選端點和 Cube 紋理篩選上限支援下列專案: | D3DPTFILTERCAPS_MINFPOINT、D3DPTFILTERCAPS_MINFLINEAR D3DPTFILTERCAPS_MINFANISOTROPIC (VolumeTextureFilterCaps 和 CubeTextureFilterCaps ) 、D3DPTFILTERCAPS_MIPFPOINT、D3DPTFILTERCAPS_MIPFLINEAR、D3DPTFILTERCAPS_MAGFPOINT、D3DPTFILTERCAPS_MAGFLINEAR |
頂點和圖元階段支援下列紋理位址模式: | D3DPTADDRESSCAPS_WRAP、D3DPTADDRESSCAPS_MIRROR、D3DPTADDRESSCAPS_CLAMP、D3DPTADDRESSCAPS_BORDER、D3DPTADDRESSCAPS_INDEPENDENTUV D3DPTADDRESSCAPS_MIRRORONCE |
支援所有圖元著色器上限。 | DynamicFlowControlDepth = 24, NumTemps = 32, StaticFlowControlDepth = 4, NumInstructionSlots = 512。 支援下列功能:預先設定、任意的波浪線和漸層指示。 沒有相依讀取限制,而且紋理和數學指令的混合沒有限制。 |
支援所有樣板作業。 這包括兩側樣板。 | 請參閱D3DSTENCILOP |
每個頂點的裝置支援點大小 | D3DCAPS9 中的D3DFVFCAPS_PSIZE |
2 個紋理支援的非電源。 | 完整支援或條件式非 pow-2 支援;裝置不應該有方形紋理的限制,如D3DPTEXTURECAPS_SQUAREONLY所示。 |
如果裝置支援多個轉譯目標,支援下列上限: | D3DPMISCCAPS_INDEPENDENTWRITEMASKS,D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
如果支援vs_3_0 | D3DCAPS9 中的 MaxUserClipPlanes 為 6 |
相關主題