ps_2_x
Ein programmierbarer Pixel-Shader besteht aus einer Reihe von Anweisungen, die mit Pixeldaten arbeiten. Register übertragen Daten in und aus der ALU. Ein zusätzliches Steuerelement kann angewendet werden, um die Anweisung, die Ergebnisse oder die ausgeschriebenen Daten zu ändern.
- ps_2_x Anweisungen enthält eine Liste der verfügbaren Anweisungen.
- ps_2_x Register listet die verschiedenen Typen von Registern auf, die vom Vertex-Shader ALU verwendet werden.
- Modifizierer Werden verwendet, um die Funktionsweise einer Anweisung zu ändern.
- Zielregisterschreibmaske bestimmt, welche Komponenten des Zielregisters geschrieben werden.
- Pixel Shader Source Register-Modifizierer ändern die Quellregisterdaten, bevor die Anweisung ausgeführt wird.
- Source Register Swizzling gibt zusätzliche Kontrolle darüber, welche Registerkomponenten gelesen, kopiert oder geschrieben werden.
Dynamische Flusssteuerung
DynamicFlowControlDepth stellt die Schachtelungstiefe dynamischer Flusssteuerungsanweisungen dar: if, if_comp, if_pred, break - ps und break_comp - ps. Der Wert entspricht der Schachtelungstiefe des if_comp Blocks. Wenn diese Obergrenze 0 ist, unterstützt das Gerät keine Anweisungen zur dynamischen Flusssteuerung.
Anzahl temporärer Register
Die Anzahl der vom Gerät unterstützten temporären Register. Der Bereich liegt zwischen 12 und 32.
Schachtelungstiefe für statische Flusssteuerung
StaticFlowControlDepth stellt die Schachtelungstiefe von zwei Typen statischer Flusssteuerungsanweisungen dar:Schleifenrepräsentierung / und Aufruf /callnz. loop /rep-Anweisungen können in StaticFlowControlDepth deep geschachtelt werden. Unabhängig davon können Aufrufanweisungen /callnz in StaticFlowControlDepth deep geschachtelt werden.
Anzahl der Befehlsslots
Die Anzahl der Befehlsslots kann zwischen 96 und maximal 512 liegen und wird von maxPixelShaderInstructionSlots angegeben. Die Gesamtanzahl der Anweisungen, die ausgeführt werden können, wird von MaxPixelShaderInstructionsExecuted definiert. Dies kann aufgrund von Schleifen- und Unterroutinaufrufen größer sein als die Anzahl der Befehlsslots.
Beliebiger Swizzle
Wenn D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE festgelegt ist, wird beliebiges Swizzle unterstützt. Weitere Informationen finden Sie unter Quellregister swizzling.
Farbverlaufsanweisungen
Wenn D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS festgelegt ist, werden Farbverlaufsanweisungen unterstützt. Siehe dsx - ps, dsy - ps und texldd - ps.
Prädikation
Wenn D3DD3DPSHADERCAPS2_0_PREDICATION festgelegt ist, wird die Anweisungsvorbehandlung unterstützt. Siehe Prädikatregister.
Abhängiges Leselimit
Wenn D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT festgelegt ist, gibt es keine abhängigen Lesebeschränkungen.
Texturanweisungslimit
Wenn D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT festgelegt ist, gibt es keine Begrenzung für Texturanweisungen.
Sampleranzahl
Die Anzahl der verfügbaren Textur-Sampler ist 16.
Zugehörige Themen