ps_2_x
Ein programmierbarer Pixelshader besteht aus einer Reihe von Anweisungen, die mit Pixeldaten arbeiten. Registriert die Übertragung von Daten in und aus dem ALU. Zusätzliches Steuerelement kann angewendet werden, um die Anweisung, die Ergebnisse oder die Daten zu ändern, die ausgeschrieben werden.
- ps_2_x Anweisungen enthält eine Liste der verfügbaren Anweisungen.
- ps_2_x Registers listet die verschiedenen Registertypen auf, die vom Vertexshader ALU verwendet werden.
- Modifizierer Werden verwendet, um die Funktionsweise einer Anweisung zu ändern.
- Zielregister-Schreibmaske bestimmt, welche Komponenten des Zielregisters geschrieben werden.
- Pixelshader-Quellregister-Modifizierer die Quellregisterdaten vor ausführung der Anweisung ändern.
- Source Register Swizzling bietet zusätzliche Kontrolle darüber, welche Registerkomponenten gelesen, kopiert oder geschrieben werden.
DynamicFlowControlDepth stellt die Schachtelungstiefe dynamischer Flusssteuerungsanweisungen dar: , wenn, if_comp, if_pred, Break - psund break_comp - ps. Der Wert ist gleich der Schachtelungstiefe des if_comp Blocks. Wenn diese Obergrenze null ist, unterstützt das Gerät keine Anweisungen zur dynamischen Flusssteuerung.
Die Anzahl der vom Gerät unterstützten temporären Register. Der Bereich liegt zwischen 12 und 32.
StaticFlowControlDepth stellt die Schachtelungstiefe von zwei Arten von Anweisungen zur statischen Flusssteuerung dar: Schleifenschleife /Rep And Call /callnz. Loop /rep-Anweisungen können bis zu StaticFlowControlDepth tief geschachtelt werden. Unabhängig voneinander können Aufruf-/callnz-Anweisungen bis zu StaticFlowControlDepth tief geschachtelt werden.
Die Anzahl der Anweisungsplätze kann zwischen 96 und maximal 512 liegen und wird durch die MaxPixelShaderInstructionSlotsangegeben. Die Gesamtanzahl der Anweisungen, die ausgeführt werden können, wird durch MaxPixelShaderInstructionsExecuteddefiniert. Dies kann aufgrund von Schleifen- und Unterroutineaufrufen größer sein als die Anzahl der Anweisungsplätze.
Wenn D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE festgelegt ist, wird ein beliebiger Schwarm unterstützt. Siehe Source Register Swizzling.
Wenn D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS festgelegt ist, werden Farbverlaufsanweisungen unterstützt. Siehe dsx - ps, dsy - psund texldd - ps.
Wenn D3DD3DPSHADERCAPS2_0_PREDICATION festgelegt ist, wird die Prädierung von Anweisungen unterstützt. Siehe Prädikatregister.
Wenn D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT festgelegt ist, gibt es keine abhängigen Lesegrenzwerte.
Wenn D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT festgelegt ist, gibt es keine Beschränkung für Texturanweisungen.
Die Anzahl der verfügbaren Textursampler ist 16.