共用方式為


軟體著色器

軟體著色器會實作,以允許在沒有基礎硬體支援的情況下開發著色器。 它們支援完整的功能集。 因為它們是在軟體中實作,所以不會產生最佳效能。

版本 功能集 要求
vs_2_sw vs_2_x的所有功能 僅支援軟體頂點處理和參考裝置。
vs_3_sw vs_3_0的所有功能 僅支援軟體頂點處理和參考裝置。
ps_2_sw ps_2_x的所有功能 僅受參考裝置支援。
ps_3_sw ps_3_0的所有功能 僅受參考裝置支援。

 

對於軟體著色器而言,有些驗證很寬鬆。 這對於偵錯和原型設計用途很有用。 下列驗證很寬鬆:(所有其他驗證都保持不變)

驗證類型 放鬆
指令計數: 對於vs_2_sw、vs_3_sw和ps_2_sw來說,這是輕鬆的,ps_3_sw。 允許無限制的指示。
浮點數計數: 對於vs_2_sw、vs_3_sw和ps_2_sw來說,這是輕鬆的,ps_3_sw。 最多允許8192個常數。
整數常數計數: 對於vs_2_sw、vs_3_sw和ps_2_sw來說,這是輕鬆的,ps_3_sw。 最多允許 2048 個常數。
布林常數計數: 對於vs_2_sw、vs_3_sw和ps_2_sw來說,這是輕鬆的,ps_3_sw。 最多允許 2048 個常數。
相依讀取深度: 對於ps_2_sw來說,這是寬鬆的。 如同在vs_3_0和ps_3_0中,允許無限制的相依讀取。
流程控制指令和標籤: 對於vs_2_sw來說,這是寬鬆的。 允許無限制的流程控制指示和最多 2048 個標籤。
循環計數/啟動/步驟: 對於vs_2_sw、vs_3_sw、ps_2_sw和ps_3_sw來說,這些都是寬鬆的。 代表和迴圈指令的反覆項目開始和插播步驟大小是32位帶正負號的插播器。 插補計數最多可MAX_INT/64。
讀取埠限制: vs_2_sw、vs_3_sw、ps_2_sw和ps_3_sw沒有讀取埠限制。
插補器數目: vs_3_sw中有 16 快存器 - vs_3_0 (o#) 和 10 ps_3_0 registers (v#) for ps_3_sw。

 

Asm 著色器參考