Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik modifiers voor bronregisters om de waarde te wijzigen die in een register wordt gelezen voordat een instructie wordt uitgevoerd. De inhoud van een bronregister blijft ongewijzigd. Modifiers zijn handig voor het aanpassen van het bereik van registergegevens ter voorbereiding op de instructie. Een set modifiers genaamd selectors kopieert of repliceert de gegevens van één kanaal (r,g,b,a) naar de andere kanalen.
ps_1_1 - ps_1_4
In deze tabel worden de versies geïdentificeerd die ondersteuning bieden voor elke wijzigingsfunctie:
| Modifiers voor bronregisters | Syntaxis | Versie 1_1 | Versie 1_2 | Versie 1_3 | Versie 1_4 |
|---|---|---|---|---|---|
| register_bias | X | X | X | X | |
| omkeren | 1 - registreren | X | X | X | X |
| -registreren | X | X | X | X | |
| schalen met 2 | register_x2 | X | |||
| ondertekende schaalaanpassing | register_bx2 | X | X | X | X |
| texld en texcrd modifiers | register_d* | X | X | X | X |
| bronregister | register.xyzw | X | X | X | X |
Modifiers voor bronregisters kunnen alleen worden gebruikt voor rekenkundige instructies. Ze kunnen niet worden gebruikt voor patroonadresinstructies. De uitzondering hierop is de schaal met 2 modifier. Voor versie 1_1 kan ondertekende schaal worden gebruikt voor het bronargument van elke texm*-instructie. Voor versie 1_2 of 1_3 kan ondertekende schaal worden gebruikt voor het bronargument van een patroonadresinstructie.
Enkele wijzigingsspecifieke beperkingen:
- Negate kan worden gecombineerd met de vooroordelen, ondertekende schaalaanpassing of scalex2-modifier. In combinatie wordt negate als laatste uitgevoerd.
- Omkeren kan niet worden gecombineerd met andere modifiers.
- Omgekeerd, negate, bias, ondertekend schalen en scalex2 kunnen worden gecombineerd met een van de selectors.
- Modifiers voor bronregisters mogen niet worden gebruikt voor constante registers, omdat ze niet-gedefinieerde resultaten veroorzaken. Voor versie 1_4 zijn modifiers op constanten niet toegestaan en mislukt de validatie.
ps_2_0 en hoger
Voor versie-ps_2_0 en hoger is het aantal modifiers vereenvoudigd.
Ontkennen
De inhoud van het bronregister verwijderen.
| Aanpassing van onderdelen | Beschrijving |
|---|---|
| - r | Bronondertekening |
De negate modifier kan niet worden gebruikt in het tweede bronregister van deze instructies: m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - psen m4x4 - ps.
| Pixel shader-versies | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|
| - | x | x | x | x | x |
Absolute waarde
Neem de absolute waarde van het register.
| Pixel shader-versies | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|
| ABS | x | x |
Als een versie 3-shader uit een of meer constante floatregisters (c#) leest, moet een van de volgende waarden waar zijn.
- Alle constante drijvendekommaregisters moeten de wijzigingsfunctie abs gebruiken.
- Geen van de constante drijvendekommaregisters kan de abs modifier gebruiken.
Verwante onderwerpen