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.
Een programmeerbare hoekpunt-shader bestaat uit een set instructies die op hoekpuntgegevens werken. Registreert overdrachtsgegevens in en uit de ALU. Aanvullende controle kan worden toegepast om de instructie, de resultaten of welke gegevens worden weggeschreven te wijzigen.
Vertex shader-versie vs_2_x breidt de functieset uit die wordt ondersteund door vs_2_0. Elke extra functie wordt vertegenwoordigd door een bijbehorende limiet in de D3DCAPS9 structuur binnen D3DVS20CAPS. Als u een van de verbeterde functies wilt gebruiken die worden vertegenwoordigd door deze hoofdletters, moet de versie van de hoekpunt-shader worden opgegeven als vs_2_x.
- Instructies: vs_2_x bevat een lijst met de beschikbare instructies.
- Registers - vs_2_x bevat de verschillende soorten registers die worden gebruikt door de arcering van hoekpunten ALU.
- Vertex Shader Register Modifiers worden gebruikt om de manier waarop een instructie werkt te wijzigen.
- Vertex Shader Source Register Modifiers de bronregistergegevens wijzigen voordat de instructie wordt uitgevoerd.
- Bronregister Swizzling geeft extra controle over welke registeronderdelen worden gelezen, gekopieerd of geschreven.
- doelregistermaskering bepaalt welke onderdelen van het doelregister worden geschreven.
Nieuwe functies
Nieuwe functies zijn als volgt:
Dynamisch stroombeheer
Als D3DVS20CAPS> 0, worden de volgende instructies voor dynamisch stroombeheer ondersteund:
Als D3DVS20CAPS ook is ingesteld, worden de volgende aanvullende instructies voor stroombeheer ondersteund:
Het bereik van waarden voor de diepte van dynamische stroombesturing is 0 tot 24 en is gelijk aan de nestdiepte van de instructies voor dynamisch stroombeheer (zie Limieten voor stroombeheer genest voor meer informatie). Als deze limiet nul is, biedt het apparaat geen ondersteuning voor instructies voor dynamisch stroombeheer.
Aantal tijdelijke registers
D3DVS20CAPS vertegenwoordigt het aantal tijdelijkedat door het apparaat wordt ondersteund. Het bereik van waarden voor deze limiet is 12 tot 32.
Diepte van nesten van statische stroombesturing
D3DVS20CAPS vertegenwoordigt de nestdiepte van twee typen instructies voor statische stroombeheer: lus - vs/rep - vs en aanroepen - vs/callnz bool - vs/if bool - vs. lus - vs/ rep - vs instructies kunnen worden genest tot D3DVS20CAPS diep. Onafhankelijk kunnen aanroepen - vs/callnz bool - vs instructies tot D3DVS20CAPS diep worden genest. Als D3DVS20CAPS ook is ingesteld, worden callnz pred - vs meegeteld voor de nestdiepte van de oproep - vs/callnz bool - vs/if bool - vs (zie Flow Control Nesting Limits voor meer informatie).
Predicatie
Als D3DVS20CAPS is ingesteld, ondersteunt het apparaat setp_comp - versus en instructiepredicatie. Als D3DVS20CAPS ook groter is dan 0, worden de volgende aanvullende instructies voor dynamisch stroombeheer ondersteund:
Aantal instructies
Elke hoekpunt-shader kan maximaal 256 instructies bevatten. Het aantal instructies kan veel hoger zijn (vanwege de ondersteuning voor lus/rep) en wordt beperkt door D3DCAPS9, die ten minste 0xFFFF moet zijn.
Verwante onderwerpen