ps_3_0
可程式化的圖元著色器是由一組在像素數據上運作的指示所組成。 註冊傳入和移出 ALU 的數據。 您可以套用其他控制項來修改指令、結果,或寫出哪些數據。
- ps_3_0 指令 包含可用指示的清單。
- ps_3_0 快取器 列出圖元著色器 ALU 所使用的不同快取器類型。
- 修飾詞 用來修改指令的運作方式。
- 目的地緩存器寫入遮罩 決定目的地快取器哪些元件會寫入。
- 像素著色器來源緩存器修飾詞 在指令執行之前變更來源緩存器數據。
- 來源緩存器 提供讀取、複製或寫入哪些緩存器元件的額外控制權。
新功能
新增臉部快取器。 新增位置快取器。 色彩快取器 (v#) 現在已完全浮點,且紋理座標緩存器 (t#) 已合併。 輸入宣告會採用使用方式名稱,並允許指定緩存器元件的多個使用方式。
動態流程控制
裝置支援動態流程控制(如果 bool - ps、break - ps和 break_comp - ps)。 巢狀深度範圍從 0 到 24。
暫存緩存器數目
支援的暫存緩存器數目為 32。
靜態流程控制巢狀深度
呼叫 - ps/callnz /call_pred 可以巢狀到最大深度 4。 獨立 迴圈 - ps/rep - ps 指令可以巢狀到最大深度 4。
任意 Swizzle
支援任意旋轉。 請參閱 來源快取器。
漸層指示
支援漸層指示。 請參閱 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 |
已設定下列點陣上限: | D3DCAPS9中的D3DPRASTERCAPS_MIPMAPLODBIAS、D3DPRASTERCAPS_ANISOTROPY、D3DPRASTERCAPS_COLORPERSPECTIVE 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 |
紋理篩選上限、磁碟區紋理篩選上限和立方體紋理篩選上限支援下列專案: | 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 支援;device 不應該有方形紋理的限制,就像在D3DPTEXTURECAPS_SQUAREONLY中一樣。 |
如果裝置支援多個轉譯目標,則支援下列上限: | D3DPMISCCAPS_INDEPENDENTWRITEMASKS,D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
如果支援vs_3_0 | D3DCAPS9中的 MaxUserClipPlanes 為 6 |
相關主題