Software-Shader

Software-Shader werden implementiert, um die Entwicklung von Shadern ohne zugrunde liegende Hardwareunterstützung zu ermöglichen. Sie unterstützen den vollständigen Funktionssatz. Da sie in Software implementiert sind, erzielen sie nicht die beste Leistung.

Version Funktionsgruppe Anforderungen
vs _ 2 _ sw Alle Features von vs _ 2 _ x Wird nur von der Softwarevertexverarbeitung und einem Referenzgerät unterstützt.
vs _ 3 _ sw Alle Features von im Vergleich _ zu 3 _ 0 Wird nur von der Softwarevertexverarbeitung und einem Referenzgerät unterstützt.
ps _ 2 _ sw Alle Features von ps _ 2 _ x Wird nur von einem Referenzgerät unterstützt.
ps _ 3 _ sw Alle Features von ps _ 3 _ 0 Wird nur von einem Referenzgerät unterstützt.

Einige Überprüfungen sind für Software-Shader gelockert. Dies ist nützlich für das Debuggen und die Prototyperstellung. Die folgenden Überprüfungen werden gelockert: (Alle anderen Validierungen bleiben unverändert)

Überprüfungstyp Entspannung
Anweisungsanzahl: Dies ist für vs _ 2 _ sw, vs _ 3 _ sw und ps _ 2 _ sw, ps _ 3 sw _ gelockert. Unbegrenzte Anweisungen sind zulässig.
Anzahl von Gleitkommakonstenten: Dies ist für vs _ 2 _ sw, vs _ 3 _ sw und ps _ 2 _ sw, ps _ 3 sw _ gelockert. Bis zu 8192 Konstanten sind zulässig.
Ganzzahlige Konstantenanzahl: Dies ist für vs _ 2 _ sw, vs _ 3 _ sw und ps _ 2 _ sw, ps _ 3 sw _ gelockert. Bis zu 2048 Konstanten sind zulässig.
Boolesche Konstantenanzahl: Dies ist für vs _ 2 _ sw, vs _ 3 _ sw und ps _ 2 _ sw, ps _ 3 sw _ gelockert. Bis zu 2048 Konstanten sind zulässig.
Abhängige Lesetiefe: Dies ist für ps _ 2 _ sw gelockert. Wie in _ 3 _ 0 und ps _ 3 _ 0 sind unbegrenzte abhängige Leses zulässig.
Anzahl der Anweisungen und Bezeichnungen für die Flusssteuerung: Dies ist für 2 sw _ _ gelockert. Unbegrenzte Flusssteuerungsanweisungen und bis zu 2048 Bezeichnungen sind zulässig.
Schleifenanzahl/Start/Schritt: Diese sind gelockert für vs _ 2 _ sw, vs _ 3 _ sw, ps _ 2 _ sw und ps _ 3 _ sw. Die Größe des Iterationsstarts und der Interationsschritte für Rep- und Schleifenanweisungen sind 32-Bit-Signierte Interger. Die Interationsanzahl kann bis zu MAX _ INT/64 sein.
Grenzwerte für Leseports: vs _ 2 _ sw, vs _ 3 _ sw, ps _ 2 _ sw und ps _ 3 sw haben kein _ Leseportlimit.
Anzahl der Interpolatoren: Es gibt 16 Register – im Vergleich _ zu 3 _ 0 (o ) in vs 3 sw und # _ _ 10 ps _ 3 _ 0 Register (v ) für ps # _ 3 _ sw.

Asm-Shaderreferenz