Modifiers voor Pixel Shader-bronregisters

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.

Pixel Shader Modifiers registreren