Delen via


ps_3_0 instructies

Deze sectie bevat naslaginformatie voor de instructies voor pixel-shader versie 3_0.

Er zijn verschillende soorten pixel-shader-instructies, zoals wordt weergegeven in de tabel. Kolommen rechts betekenen het volgende:

  • Instructiesites : het aantal instructiesleuven dat door elke instructie wordt gebruikt.
  • Setup: een pixel-shader moet een versie-instructie hebben en moet de eerste instructie zijn.
  • Rekenkundige bewerkingen: deze instructies bieden de wiskundige bewerkingen in een arcering.
  • Patroon: deze instructies worden gebruikt om patroongegevens te laden en te samplen en om patrooncoördinaten te wijzigen.
  • Stroombeheer: deze instructies bieden statisch en dynamisch stroombeheer voor de uitvoering van instructies.
  • Nieuw: deze instructies zijn nieuw voor deze versie.

Instructieset

Naam Beschrijving Instructiesites Setup Rekenkunde Textuur Stroombeheer Nieuw
abs - ps Absolute waarde 1 x
toevoegen - ps Twee vectoren toevoegen 1 x
break - ps Uit een lus breken... endloop of rep... endrepblok 1 x
break_comp - ps Een lus voorwaardelijk verbreken... endloop of rep... endrepblok, met een vergelijking 3 x
breakp - ps uit een lus breken... endloop of rep... endrepblok, op basis van een predicaat 3 x
gesprek - ps Een subroutine aanroepen 2 x
callnz bool - ps Een subroutine aanroepen als een Booleaanse register niet nul is 3 x
callnz pred - ps Een subroutine aanroepen als een predicaatregister niet nul is 3 x
cmp - ps Bron vergelijken met 0 1 x
crs - ps Kruisproduct 2 x
dcl_samplerType (sm2, sm3 - ps asm) De patroondimensie voor een sampler declareren 0 x
dcl_semantics (sm3 - ps asm) Invoer- en uitvoerregisters declareren 0 x x
def - ps Constanten definiëren 0 x
defb - ps Een Booleaanse constante definiëren 0 x
defi - ps Een geheel getalconstante definiëren 0 x
dp2add - ps 2D dot product en toevoegen 2 x
dp3 - ps 3D dot product 1 x
dp4 - ps 4D dot product 1 x
dsx - ps Snelheid van wijziging in de x-richting 2 x
dsy - ps Snelheid van verandering in de y-richting 2 x
else - ps Een ander blok starten 1 x
endif - ps Een if beëindigen... else block 1 x
endloop - ps Een lus beëindigen 2 x x
endrep - ps Einde van een herhalingsblok 2 x
exp - ps Volledige precisie 2x 1 x
frc - ps Breukonderdeel 1 x
als bool - ps Een if-blok starten 3 x
if_comp - ps Een if-blok beginnen met een vergelijking 3 x
indien pred - ps Een if-blok beginnen met predicatie 3 x
label - ps Etiket 0 x
logboek - ps Volledige precisie log UNIX(x) 1 x
lus - ps Strik 3 x x
lrp - ps Lineair interpoleren 2 x
m3x2 - ps 3x2 vermenigvuldigen 2 x
m3x3 - ps 3x3 vermenigvuldigen 3 x
m3x4 - ps 3x4 vermenigvuldigen 4 x
m4x3 - ps 4x3 vermenigvuldigen 3 x
m4x4 - ps 4x4 vermenigvuldigen 4 x
boos - ps Vermenigvuldigen en toevoegen 1 x
max - ps Maximum 1 x
min - ps Minimum 1 x
mov - ps Bewegen 1 x
mul - ps Vermenigvuldigen 1 x
nop - ps Geen bewerking 1 x
nrm - ps Normaliseren 3 x
pow - ps xy- 3 x
ps- Versie 0 x
rcp - ps Wederkerig 1 x
rep - ps Herhalen 3 x
ret - ps Einde van een subroutine 1 x
rsq - ps Wederzijdse vierkantswortel 1 x
setp_comp Het predicaatregister instellen 1 x
sincos - ps Sinus en cosinus 8 x
sub - ps Aftrekken 1 x
texkill - ps Pixelweergave doden 2 x
texld - ps_2_0 en hoger Voorbeeld van een patroon Zie opmerking 1 x
texldb - ps Patroonsampling met een mate van detail bias van w-component 6 x
texldl - ps Patroonsampling met detailniveau van w-component Zie opmerking 2 x x
texldd - ps Patroonsampling met door de gebruiker geleverde kleurovergangen 3 x
texldp - ps Patroonsampling met projectief delen door w-component Zie opmerking 3 x

 

Notities:

  1. Als het patroon een kubuskaart is, sleuven = 4; anders sleuven = 1.
  2. Als het patroon een kubuskaart is, sleuven = 5; anders sleuven = 2.
  3. Als het patroon een kubuskaart is, sleuven = 4; anders sleuven = 3.

instructies voor pixel-shader