Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd källregistreringsmodifierare för att ändra värdet som läse från ett register innan en instruktion körs. Innehållet i ett källregister lämnas oförändrat. Modifierare är användbara för att justera intervallet av registerdata inför instruktionen. En uppsättning modifierare som kallas väljare kopierar eller replikerar data från en enda kanal (r,g,b,a) till de andra kanalerna.
ps_1_1 - ps_1_4
Den här tabellen identifierar de versioner som stöder varje modifierare:
| Källregistreringsmodifierare | Syntax | Version 1_1 | Version 1_2 | Version 1_3 | Version 1_4 |
|---|---|---|---|---|---|
| bias | register_bias | X | X | X | X |
| invertera | 1 – registrera dig | X | X | X | X |
| förneka | -Registrera dig | X | X | X | X |
| skala med 2 | register_x2 | X | |||
| signerad skalning | register_bx2 | X | X | X | X |
| texld- och texcrd-modifierare | register_d* | X | X | X | X |
| källregister med | register.xyzw | X | X | X | X |
Källregistreringsmodifierare kan endast användas på aritmetiska instruktioner. De kan inte användas på texturadressinstruktioner. Undantaget är skala med 2 modifierare. För version 1_1 kan signerad skala användas på källargumentet för valfri texm*-instruktion. För version 1_2 eller 1_3 kan signerad skala användas på källargumentet för valfri texturadressinstruktion.
Vissa begränsningar för modifierare:
- Negate kan kombineras med antingen bias, signerad skalning eller scalex2-modifierare. När det kombineras körs negate sist.
- Invertera kan inte kombineras med någon annan modifierare.
- Invertera, negat, bias, signerad skalning och scalex2 kan kombineras med någon av väljarna.
- Källregistreringsmodifierare bör inte användas i konstanta register eftersom de orsakar odefinierade resultat. För version 1_4 tillåts inte modifierare på konstanter och verifieringen misslyckas.
ps_2_0 och senare
För version ps_2_0 och senare har antalet modifierare förenklats.
Förneka
Negera innehållet i källregistret.
| Komponentmodifierare | Beskrivning |
|---|---|
| - r | Källförnekelse |
Negatemodifieraren kan inte användas i det andra källregistret med följande instruktioner: m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps, och m4x4 - ps.
| Pixelskuggningsversioner | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|
| - | x | x | x | x | x |
Belopp
Ta det absoluta värdet för registret.
| Pixelskuggningsversioner | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|
| magmuskler | x | x |
Om någon version 3-skuggning läser från ett eller flera konstanta flyttalregister (c#), måste något av följande vara sant.
- Alla konstanta flyttalsregister måste använda abs-modifieraren.
- Ingen av de konstanta flyttalsregister kan använda abs-modifieraren.
Relaterade ämnen